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

Может ли ADFS подключаться к другим службам единого входа?

У меня есть приложение .net, подключенное к моему локальному серверу ADFS (подключенному к нашему корпоративному серверу AD), и все работает нормально. Мой вопрос: может ли мой ADFS установить доверенное соединение с дополнительными службами единого входа в Интернете, такими как Azure AD, AWS, вход в Google, Facebook, Twitter, OpenID и т. Д., Чтобы мое приложение могло использовать утверждения из нескольких надежных источников, кроме моих Активировать каталог?

Я сделал это. В нашей модели у нас есть три группы пользователей:

  1. Внутренние пользователи проходят проверку подлинности через Active Directory (Kerberos или NTLM) в локальном экземпляре AD FS. В этом наборе сервер AD FS работает как IdP.

  2. Внешние пользователи проходят проверку подлинности через Active Directory (Kerberos или NTLM) в своем собственном экземпляре и домене AD FS. В этом наборе сервер AD FS имеет доверие поставщика утверждений, настроенное для выдающего сервера AD FS. Наш сервер AD FS работает как SP-STS, преобразуя и проверяя утверждения, выданные где-то еще, и повторно отправляя доверенный токен нашему приложению. IdP - это сервер AD FS другого домена, на котором наш сервер AD FS настроен как проверяющая сторона.

  3. Внешние пользователи без корпоративного входа. Эти пользователи проходят проверку подлинности на небольшой STS .Net, который настроен как доверие поставщика утверждений на нашем сервере AD FS. (Мы также рассматривали - и это было технически просто - использование Azure Active Directory B2C для этой роли, но этому помешали другие проблемы.)

Токены выпускаются как:

Чтобы сделать его прозрачным для наших клиентов, мы используем диапазоны IP-адресов для обнаружения (через nginx) и перенаправления на соответствующий корпоративный AD FS, а в остальном полагаемся на стандартную страницу AD FS HRD.

Да, оно может.

Каждый из этих внешних IDP добавляется в качестве поставщика утверждений в ADFS, а на стороне IDP ADFS добавляется как проверяющая сторона.

При аутентификации ADFS покажет экран обнаружения домашней области, в котором перечислены все IDP.

Затем вы выбираете, какой из них хотите использовать.

Кажется, что связывание доверяющих сторон действительно возможно. Этот парень написал об этом серию сообщений, вот одна. Вы можете использовать ADFS в качестве «концентратора» для аутентификации вашего приложения, и он будет связывать запрос с той службой, в которой фактически находится пользователь.

https://cloudidentityblog.com/2013/06/17/why-use-aad-as-idp-via-ad-fs-rp/

Я сам этого не делал, поэтому я не уверен, сколько это нужно сделать и какие могут быть подводные камни. Я уверен, что у вас могут возникнуть проблемы, если пользователь живет более чем в одном IdP.

Не забывайте, что ничто не мешает вам написать приложение .NET, чтобы иметь возможность использовать преимущества нескольких поставщиков единого входа изначально.