Яка мета претензії ідентифікатора імені?


77

Для чого http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifierслід використовувати твердження типу ?

Це головне питання, а ось додаткові.

Чим він відрізняється від http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameпретензії?

Чи є воно постійним для конкретного користувача на відміну від заявки на ім’я?

Це глобальний або IdP-спектр?


Ти коли-небудь знаходив відповідь на це, Антоне?
Томмі Якобсен

Привіт, @TommyJakobsen. На жаль, немає. Врешті-решт, ми не використовували цю претензію у своїй заявці.
Ентоні Сердюков

Відповіді:


50

Name, це просто назва. Якщо ми говоримо про людину, подумайте "Ерік"; сервер "file01".

A NameIdentifier- це ідентифікатор об'єкта. Повертаючись до об’єкта нашої особи, у вашій базі даних Еріка UserID може бути 435. Для сервера ідентифікатором може бути щось на зразок повного доменного імені або SID.

Згідно з цим повідомленням , очевидно Ідентифікатор імені був властивістю SAML 1.1, і його витісняєNameID SAML 2.0.

Унікальний чи ні?

Я хотів звернутися до коментаря @ Jason та допису @ nzpcmad. Я не бачу унікальність як чітку вимогу. Питання позначено тегамиале схема, на яку посилається, належить OASIS. Отже, це ті дві інтерпретації сторін, які нам потрібно збалансувати.

Позиція Microsoft щодо ADFS очевидно, що існує унікальна вимога. Ми бачимо це в " Ролі претензій ". Без сумніву, ADFS кидає велику тінь, але це здається деталлю реалізації.

Однак, дивлячись на специфікацію SAML 1.1 , я не бачу такого твердження. Найближче до розділу 2.4.2.2 специфікації:

Елемент визначає предмет за допомогою комбінації кваліфікатора імені, імені та формату. Елемент має такі атрибути:
...
NameQualifier [необов’язково] Захист або адміністративний домен, який відповідає імені теми. Цей атрибут забезпечує спосіб об'єднання імен з різних сховищ користувачів без зіткнень.

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

То до чого це все призводить?

  • Будьте обережні, незрозуміле, швидше за все, безпечніше.
  • Пориньте у позиції своїх постачальників щодо даної теми.

1
Я думаю, що відповідь nzpcmad додає тут більше ясності. Ім'я - це не просто ім’я, якщо воно повинно бути унікальним. Мене бентежило, чи слід використовувати Name або NameIdentifier для зберігання імен користувачів. Тепер я знаю.
Джейсон

11

За роллю вимог ,

Ім'я Унікальне ім'я користувача

Ідентифікатор імені Ідентифікатор імені SAML користувача

Ці дві претензії входять до групи вимог, які AD FS 2.0 налаштовує за замовчуванням.

Це означає, що вони мають діапазон IP.

наприклад, коли ви входите в Google за допомогою ACS, «ідентифікатор імені» - це унікальний GUID, пов’язаний з вашим обліковим записом Google, тоді як ім’я є вашим логіном для входу в Google, наприклад «tim.smith@gmail.com».


2
Дякую, @nzpcmad, за увагу. Однак мені все ще незрозуміло, що означає "ідентифікатор імені". У фразі "Ідентифікатор імені SAML користувача" немає пояснення.
Антоній Сердюков

7

ClaimTypes.Nameпризначений для імені користувача та ClaimTypes.NameIdentifierвказує ідентичність користувача як перспективу об’єкта. Якщо ви додасте їх у свого роду ClaimIdentityоб'єкт, який надає вам доступ до User.Identityметодів (наприклад, у світі точок), які є GetUserName()і GetUserId().


-1

nameidentifierВимога має бути використано для отримання унікального імені користувача.

Для автентифікації Windows:

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier домен \ чернокнижка

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name 0 # .w | домен \ чернокнижка

domain \ warlock - ім'я для входу в систему Windows

Для автентифікації на основі претензій:

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier warlock@localhost.com

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name 05.t|myidentityprovider|warlock@localhost.com

електронна пошта була вказана як заявка на ідентифікатор

Як ви можете бачити, .../identity/claims/nameописує ім'я та ідентифікацію постачальника.


5
Цей приклад не дуже чіткий, суперечить двом іншим відповідям і не має підтверджуючих доказів. Прийняті відповіді говорять, що ідентифікатор імені повинен бути в основному унікальним цілим числом або GUID, а ім'я має бути унікальним ім'ям користувача.
камерлен

Посилання розірвано
Падраїк,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.