Назад | Перейти на главную страницу

Имитация заявлений пользователей / клиентов Azure AD в ADFS

У меня есть веб-приложение .Net, которое позволяет пользователям подключать свою учетную запись к поставщику удостоверений (Azure AD, Google и / или ADFS), чтобы разрешить единый вход.

При подключении своей учетной записи (или «подключении», что угодно ...) каждый провайдер должен вернуть следующие значения:

  1. Уникальный идентификатор пользователя (постоянное значение идентификатора клиента, которое никогда не изменяется для пользователя (например, если его имя изменяется, значение остается постоянным)
  2. Уникальный идентификатор арендатора Поскольку люди используют приложение из нескольких клиентских баз, мне нужно сохранить идентифицирующее значение для каждого поставщика / клиента идентификатора клиента.
  3. Имя пользователя Понятное имя для пользователя (например, адрес электронной почты), которое можно использовать, чтобы показать ему его «имя» в провайдере (например, это ваш адрес электронной почты при использовании Google или Azure AD)

До сих пор я достиг этого в Azure AD и Google, но я борюсь с ADFS. Поскольку у меня нет активного сервера ADFS, я использую виртуальную машину, чтобы увидеть, как вышеперечисленное может быть настроено в качестве требований.

Возможно ли в ADFS настроить проверяющую сторону, а затем создать три утверждения для заполнения вышеуказанного?

Работая с диалоговым окном правил утверждений ADFS, я предположил, что следующее может работать, но у меня нет опыта, чтобы знать, действительно ли это:

  1. ID имени - постоянный идентификатор
  2. Не уверен - возможно, создайте претензию вручную со значением "CompanyABC_Tenant123".
  3. UPN

Можно ли сделать № 2 выше. Или есть лучший способ достичь того, что мне нужно? Я отмечаю, что при использовании управления доступом Azure AD указанные выше три элемента заполняются автоматически, но предполагается, что идентификатор создается в облаке, а не локально.

Для первого используйте objectGUID - см .: ADFS: objectGUID как утверждение .

Во втором случае может быть несколько доменов, внутри домена - несколько ферм ADFS, а внутри фермы - несколько экземпляров ADFS. Итак, в идеале статическое утверждение вроде:

имя домена / фермы / машины

Но правила рассмотрения претензий одинаковы для всей фермы, поэтому:

домен / ферма

Для третьего да, используйте UPN.