The PrincipalNameIdentifier mapping is the simplest and most straightforward NameIdentifierMapping of all. The idea is to embed the local principal name directly in the NameIdentifier element:
<saml:Subject xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"> <saml:NameIdentifier Format="urn-x:test:NameIdFormat1" NameQualifier="https://idp.example.org/shibboleth"> netid </saml:NameIdentifier> </saml:Subject>
Obviously, the PrincipalNameIdentifier mapping provides no privacy whatsoever.
To configure an IdentityProvider to use PrincipalNameIdentifier, insert the following NameMapping
element into the !IdP config file (idp.xml):
<!-- PrincipalNameIdentifier configuration (test) --> <NameMapping xmlns="urn:mace:shibboleth:namemapper:1.0" id="..." format="urn-x:test:NameIdFormat1" type="Principal"/>
The id
attribute is a unique identifier for this NameMapping
element in the config file. The format
attribute value is wholly contrived, so PrincipalNameIdentifier is of little use except for testing purposes.
Note: The GridShib.EmailAddressNameIdentifierMapping is functionally equivalent to the PrincipalNameIdentifier mapping plus it is an implementation of a standard SAML NameIdentifierFormat.