NameID mapper
Use a NameID mapper script to customize the value of the NameID attribute returned in the SAML assertion per SP.
Demonstrate a NameID adapter
Before you try the example, configure single sign-on using SAML v2.0 with PingOne Advanced Identity Cloud as the hosted IDP.
The following example modifies the NameID attribute in the assertion on the remote SP:
To view the available bindings, refer to the NameID mapper scripting API.
Create the script
-
Under Native Consoles > Access Management, go to Realms > Realm Name > Scripts, and click +New Script.
-
Enter a unique name for your script, select
Saml2 NameID Mapper
from the Script Type drop-down list, and click Create.The NameID mapper script type is a next-generation script only.
-
In the Script field, write a script to set a custom value for the NameID attribute. For example, the following script replaces instances of
.com
with.org
in a user’s email address. Alternatively, uncomment the call togetIdentityNameID
to set NameID to the user’s first and last name./* * Retrieve nameID value from Java plugin and modify */ function getModifiedNameID() { var nameIDValue = nameIDScriptHelper.getNameIDValue(); if (nameIDValue.includes(".com")) { return nameIDValue.replace(".com", ".org"); } return nameIDValue; } /* * Use identity binding to gather attributes */ function getIdentityNameID() { var givenName = identity.getAttributeValues("givenName")[0]; var lastName = identity.getAttributeValues("sn")[0]; return givenName + "_" + lastName; } getModifiedNameID(); //getIdentityNameID();
-
Save your changes and close the editor.
NameID mapper scripting API
The NameID mapper script is a next-generation script and therefore has access to all the next-generation common bindings in addition to those described here. |
Binding | Description |
---|---|
|
The entity ID for the hosted IdP. |
|
The ID of the hosted SAML v2.0 entity. |
|
The requested SAML v2.0 NameID format. |
|
An instance of Only present when the session object passed by the SAML engine is an SSOToken. Retrieve session property values with the following
|
|
The
Always present. |
|
An instance of The |