web-dev-qa-db-fra.com

Quel est le but de la réclamation identifiant le nom?

Qu'est-ce que la revendication de type http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier doit être utilisé pour?

Telle est la question principale, et en voici d'autres.

En quoi diffère-t-il de http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name prétendre?

Est-ce permanent pour un utilisateur particulier par opposition à une revendication de nom?

Est-il de portée mondiale ou de portée IdP?

67
Anthony Serdyukov

Name, n'est qu'un nom. Si nous parlons de personne, pensez "Eric"; un serveur "file01".

Un NameIdentifier est l'ID d'un objet. Revenant à notre objet personne, l'ID utilisateur d'Eric peut être 435 dans votre base de données. Pour le serveur, l'identifiant pourrait être quelque chose comme un FQDN ou un SID.

Selon cet article , apparemment, l'identificateur de nom était une propriété SAML 1.1 et est remplacé par NameID dans SAML 2.0.

Unique ou pas?

Je voulais répondre au commentaire de @ Jason et au message de @ nzpcmad. Je ne vois pas l'unicité comme une exigence claire. La question est balisée adfs2. mais le schéma référencé appartient à OASIS. Ce sont donc les interprétations des deux parties que nous devons équilibrer.

La position de Microsoft pour ADFS est clairement qu'il existe une exigence unique. Nous le constatons dans l'article " The Role of Claims ". Sans aucun doute, ADFS jette une grande ombre, mais cela semble être un détail d'implémentation.

En regardant la spécification SAML 1.1 , cependant, je ne vois pas une telle affirmation. Le plus proche que nous obtenons dans la section 2.4.2.2 de la spécification est:

L'élément spécifie un sujet par une combinaison d'un qualificatif de nom, d'un nom et d'un format. L'élément a les attributs suivants:
...
NameQualifier [facultatif] Le domaine de sécurité ou administratif qui qualifie le nom du sujet. Cet attribut fournit un moyen de fédérer les noms de magasins d'utilisateurs disparates sans collision.

Le texte de la spécification me dit que je dois pouvoir trouver une personne en utilisant une combinaison des trois attributs, mais il ne fait aucune affirmation quant à l'unicité. Ne pourrais-je pas avoir deux entrées pointant vers le même utilisateur? Semble si. De plus, la spécification n'indiquerait-elle pas que l'attribut NameQualifier était requis dans les cas où NameIdentifier était insuffisant pour identifier le nom de manière unique?

Alors, à quoi tout cela mène-t-il?

  • Soyez prudent, unqiue est probablement plus sûr.
  • Explorez la position de vos fournisseurs sur le sujet.
34
EBarr

Par Le rôle des revendications ,

Nom Le nom unique de l'utilisateur

Identifiant de nom L'identifiant de nom SAML de l'utilisateur

Ces deux revendications font partie du groupe de revendications qu'AD FS 2.0 configure par défaut.

Cela implique qu'ils ont une portée IP.

par exemple. lorsque vous vous connectez à Google en utilisant ACS, "nameidentifier" est l'unique GUID associé à votre compte par Google tandis que le nom est votre identifiant Google par exemple "[email protected]".

10
nzpcmad

ClaimTypes.Name Est pour UserName et ClaimTypes.NameIdentifier Spécifie l'identité de l'utilisateur. Si vous les ajoutez dans l'objet ClaimIdentity qui vous permet d'accéder aux méthodes User.Identity Qui sont GetUserName() et GetUserId().

4
tsubasaetkisi