I’ll walk you through the complete solution for handling SAML attribute validation in learning enrollment scenarios:
SAML Attribute Mapping Configuration:
In Oracle Identity Cloud Service, navigate to Applications > Your HCM SAML App > Configuration > Assertion Attributes. You need to configure explicit mappings for all required HCM attributes. The learning module specifically requires these core attributes: employeeNumber, email, givenName, sn (surname), and organizationName.
For external identity provider integration, your partner IdP might send different attribute names. Create mapping rules:
<!-- Example SAML attribute mapping -->
<AttributeMap>
<Attribute name="employeeNumber" source="partnerID" prefix="EXT-"/>
<Attribute name="email" source="mail" required="true"/>
<Attribute name="givenName" source="firstName" fallback="Guest"/>
<Attribute name="sn" source="lastName" fallback="User"/>
</AttributeMap>
Attribute Transformation Rules:
In IDCS, go to Settings > Federation > SAML Settings > Attribute Transformation. Create transformation rules using the expression editor:
- For employeeNumber: Use expression
'EXT-' + $assertion.partnerID to prefix external IDs
- For missing organizationName: Use expression `$assertion.companyCode != null ? $assertion.companyCode : ‘EXTERNAL_LEARNER’
- For email normalization: Use expression
$assertion.email.toLowerCase() to ensure consistency
These transformations execute server-side before the SAML response is validated against HCM’s user schema.
Fallback Attribute Handling:
Not all external IdPs provide complete attribute sets. Configure fallback rules in your SAML application definition:
- Required attributes (email, employeeNumber): Must be present or derived from other attributes
- Optional attributes (phoneNumber, department): Set fallback values like ‘N/A’ or ‘EXTERNAL’
- Conditional attributes (managerEmployeeNumber): Only map if present, don’t fail validation
Implement this in IDCS by editing the SAML app configuration and setting attribute policies:
Attribute: employeeNumber
Source: partnerID
Transformation: 'EXT-' + value
Fallback: 'EXT-' + email.split('@')[0]
Required: true
External Identity Provider Integration:
For seamless integration with partner IdPs, configure your SAML trust relationship to handle attribute variations:
-
Import the partner IdP metadata into IDCS
-
In the trust configuration, enable “Flexible Attribute Matching”
-
Map partner-specific attributes to Oracle standard schema:
- partnerID → employeeNumber
- userPrincipalName → email
- displayName → split into givenName and sn
-
Enable JIT (Just-In-Time) provisioning with attribute synchronization
-
Configure profile update rules: On every login, sync SAML attributes to user profile
Learning Enrollment Specific Configuration:
The learning module has additional validation requirements. In HCM Cloud, navigate to Setup and Maintenance > Learning Administration > Security Configuration:
- Enable “External Learner Support” flag
- Configure learner type determination: Use organizationName attribute to distinguish external vs internal
- Set enrollment validation rules: For external learners, skip internal-only validations (like managerApproval)
- Map external learner attributes to learning profile fields
Testing and Validation:
After configuration, test the complete flow:
- Initiate SAML SSO from partner IdP
- Verify SAML assertion contains all required attributes (use browser dev tools to capture assertion)
- Check IDCS logs for attribute transformation execution
- Validate user profile in HCM Cloud shows correctly mapped attributes
- Test learning enrollment preview with external learner account
- Monitor HCM logs for any remaining validation errors
Common Pitfalls:
- Attribute names are case-sensitive in SAML assertions
- Transformation rules must handle null values explicitly
- JIT provisioning must be enabled for attribute sync to work
- Learning module caches user attributes; clear cache after config changes
- Some attributes require specific formats (e.g., employeeNumber must be alphanumeric)
This comprehensive approach ensures external learners can authenticate via SAML and enroll in learning content without attribute validation failures. The key is handling attribute mapping at the IDCS layer with proper transformations and fallbacks before assertions reach HCM Cloud.