Подтвердить что ты не робот

Какова цель заявки на идентификатор имени?

Какое требование типа http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier должно использоваться для?

Это главный вопрос, а вот дополнительные.

Как он отличается от http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name претензии?

Является ли он постоянным для конкретного пользователя в отличие от заявки на имя?

Является ли это областью с глобальным охватом или областью действия IdP?

4b9b3361

Ответ 1

Name, это просто имя. Если мы говорим человеку, подумайте "Эрик"; сервер "file01".

A NameIdentifier - идентификатор объекта. Возвращаясь к нашему личному объекту, Eric UserID может быть 435 в вашей базе данных. Для сервера Идентификатор может быть чем-то вроде FQDN или SID.

В соответствии с этим сообщением, очевидно, Идентификатор имени был свойством SAML 1.1 и вытесняется NameID в SAML 2.0.

Уникальный или нет?

Я хотел обратиться к комментарию @Jason и сообщению @nzpcmad. Я не вижу уникальности в качестве четкого требования. Вопрос помечен , но ссылка на схему принадлежит OASIS. Итак, это те интерпретации двух сторон, которые нам нужно сбалансировать.

Позиция Microsoft для ADFS явно указывает на то, что существует уникальное требование. Мы видим, что в статье The Role of Claims". Несомненно, ADFS бросает большую тень, но это похоже на детали реализации.

Если посмотреть на спецификацию SAML 1.1, я не вижу такого утверждения. Самое близкое, что мы получаем в разделе 2.4.2.2 спецификации:

Элемент задает объект с помощью комбинации определитель имени, имя и формат. Элемент имеет следующие атрибуты:
   ...
 NameQualifier [необязательно] Защитный или административный домен, который определяет название предмета. Этот атрибут предоставляет средства для объединения имен из разрозненных пользовательских хранилищ без столкновений.

Текст спецификации подсказывает мне, что мне нужно найти человека, использующего комбинацию из трех атрибутов, но он не делает никаких утверждений об уникальности. Могу ли я иметь две записи, указывающие на одного и того же пользователя? Кажется, так. Более того, не будет ли "спецификация указывает, что атрибут NameQualifier был необходим в случаях, когда NameIdentifier было недостаточно, чтобы однозначно идентифицировать имя?

Итак, к чему все это ведет?

  • Будьте осторожны, unqiue скорее всего безопаснее.
  • Поделитесь информацией о своих поставщиках.

Ответ 2

Per Роль требований,

Имя  Уникальное имя пользователя

Идентификатор имени  Идентификатор имени SAML пользователя

Эти две претензии являются частью группы требований, которые AD FS 2.0 настраивает по умолчанию.

Это означает, что они охвачены областью IP.

например. когда вы входите в Google с помощью ACS, "nameidentifier" - это уникальный GUID, связанный с вашей учетной записью Google, тогда как имя - это ваш логин Google, например. "[email protected]".

Ответ 3

ClaimTypes.Name - для UserName, а ClaimTypes.NameIdentifier - идентификация пользователя. Если вы добавите их в объект ClaimIdentity, который позволит вам достичь методов User.Identity, которые являются GetUserName() и GetUserId().

Ответ 4

Требование nameidentifier должно использоваться для получения уникального имени пользователя.

Для проверки подлинности Windows:

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier domain\warlock

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name 0 #.w | domain\warlock

domain\warlock - это имя входа Windows

Для аутентификации на основе утверждений:

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier [email protected]

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name 05.t|myidentityprovider|[email protected]

электронная почта была указана в качестве требования к идентификатору

Как вы можете видеть, .../identity/claims/name также описывает поставщик имен и идентификаторов.