How You Identify the SAML Subject for Agent Login
The parameter used to identify the SAML subject contents must be passed to the SSO launch page as a GET parameter.
The subject value must be unique for the single sign-on to be successful. For example, if multiple staff members can have the same value for an account custom field, then do not use that custom field as the subject.
The value defines how the SAML subject is mapped to an existing staff account in the Oracle database. Only one field can be passed in the assertion subject, whose parameter name is p_subject.
Acceptable values for p_subject depend on whether the flow is IdP-initiated SSO or SP-initiated SSO. If SSO is initiated by B2C Service (in other words, SP-initiated SSO), the only allowed value for p_subject is Account.Login. If SSO is initiated by an external provider (in other words, IdP-initiated SSO), the p_subject value can be any one of the following:
- Account.Login—The assertion subject is the account login, which is the preferred mapping since
it requires no additional lookup from the database. That is, the value can be passed to the
sso_account_login() API. This is the default mapping value if p_subject
isn't set. The Account.Login value is case sensitive.Note: This is the only value permitted for p_subject when the SSO is initiated by B2C Service in an SP-initiated process.
- Account.Emails.Address—The assertion subject is the account email address. The Account.Emails.Address value is case insensitive.
- Account.ID—The assertion subject is the account ID in the Oracle database.
- Account.CustomFields.[customfield-name]—The customfield-name variable is the actual name of the custom field in the database (and the name of the database column), and the assertion subject is the account custom field value. The custom field name is the last name in the dot-separated value. It is automatically defined with lowercase notation and the c$ prefix.
- Menu
- Yes/No
- Date/Time
- Date Field
This is an example of an assertion URL that passes the value of a custom field called accounts.c$external_id field for the staff account being verified.
https://my_site/cgi-bin/my_interface.cfg/php/admin/sso_launch.php?p_subject=Account.CustomFields.ExternalPhone
https://my_site/cgi-bin/my_interface.cfg/php/sso/saml2/sp/post/acs.php