Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SAML NameId Policy

Tags:

saml

I am new to the concept of Single Sign On(SSO). I came to know that SAML request and response is the best way to achieve SSO process. I then started reading about SAML2.0. I came around a term NameIdPolicy in saml2.0 which was not there in saml1.0.

Definitions say that It is the format of the NameID we request from the IdP.I want to know what is that format is? I mean what data from IDP should come in the format NameIDPolicy specify? Can anyone brief me on this NameIdPolicy concept?

like image 382
suraj Avatar asked Apr 11 '12 04:04

suraj


People also ask

What is NameID policy?

The identifier string is called a NameID and its specification, including format, is the NameIDPolicy. For example, a Service Provider (SP) initiates federation by sending an AuthnRequest to the Identity Provider (IDP) containing <samlp:NameIDPolicy Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" />

What is NameID in SAML?

Name Identifier. Identifies the subject of a SAML assertion , which is typically the user who is being authenticated. It corresponds to the <saml:Subject><saml:NameID> element in the SAML assertion . Default value is preferred_username. Most service providers use the user name as the name identifier.

What is NameID format persistent?

Persistent aliases. Use the persistent name identifier format if you want a user to log in at the identity provider as one user, but log in at the service provider as a different user. Before you can use this name identifier format, you must link the user at the identity provider with the user at the service provider.

What is SPNameQualifier?

The SPNameQualifier attribute specifies the name of a service provider or affiliation of providers that is used to further qualify a name.


1 Answers

From the SAML 2.0 core spec, the NameIDPolicy

Specifies constraints on the name identifier to be used to represent the requested subject. If omitted, then any type of identifier supported by the identity provider for the requested subject can be used, constrained by any relevant deployment-specific policies, with respect to privacy, for example.

When performing identity federation, the affiliated parties must agree upon an identifier for the principal's linked accounts. The identifier string is called a NameID and its specification, including format, is the NameIDPolicy.

For example, a Service Provider (SP) initiates federation by sending an AuthnRequest to the Identity Provider (IDP) containing

<samlp:NameIDPolicy Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" />

This tells the IDP that its response Assertion XML should contain something like

<saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">[email protected]</saml:NameID>

where the email address represents the subject being authenticated.

You can learn more by reading SAML 2.0 Wikipedia page (well-written), the SAML 2.0 core spec and the SAML 2.0 Name Identifier document.

like image 79
mshikaji Avatar answered Sep 21 '22 15:09

mshikaji