2012-01-22 4 views
2

Мы создаем ADFS (2.0), который будет отвечать за аутентификацию пользователей за несколько обращенных к пользователю систем. Механизм аутентификации предоставляется внешнему партнеру, который предлагает доступ к нескольким провайдерам проверки подлинности.Единый вход ADFS с поставщиком внешней аутентификации

Недавно мы столкнулись с следующим сценарием:

  1. пользователя пытается получить доступ к клиентской стороне системы A и перенаправляется на ADFS для проверки подлинности.
  2. ADFS перенаправляет пользователя к партнеру по проверке подлинности, где он аутентифицируется успешно.
  3. Пользователь отправляется обратно в ADFS с его токеном аутентификации.
  4. ADFS отправляет пользователя обратно в систему A. Теперь у него есть сеанс.
  5. Пользователь пытается получить доступ к системе B, в которой он еще не аутентифицирован и отправлен в ADFS.

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

Это полностью разрушает функциональность SSO, которую мы хотели использовать для клиентов, использующих системы A и B, но мы не нашли способ установить учетную запись ADFS и повторно использовать ее во время доступа ко второй системе.

Кто-нибудь решил эту проблему?

Может ли ADFS предоставлять только единую регистрацию, если она полностью отвечает за аутентификацию?

ответ

0

В классической ADFS вы настраиваете разные партнеры аутентификации в качестве поставщиков заявок с ADFS, то есть вы объединяете соответствующие STS. Затем он предоставляет функциональные возможности SSO, которые вам нужны.

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

0

У вас есть доступ к журналам ADFS2? В Windows machine -> Event Viewer -> Журналы приложений и служб -> AD FS 2.0 -> Администратор.

Проверьте также, что A, B и ADFS2 находятся в одной и тот же круга доверия, а также Утверждающих Потребительские услуги Концов системы B.

Надеется, что это помогает,

Луис

1

Ожидается, что ADFS будет вести себя таким образом, если ваши RP-s (система A и система B) настроены на принудительную аутентификацию (ForceAuthn = "true"). Чтобы устранить проблему, убедитесь, что атрибут свежести удален из элемента <wsFederation>.

+0

Спасибо за ответ, но он, к сожалению, не решил проблему. Я думаю, что разница в том, что в нашем сценарии AD FS фактически не выполняет аутентификацию, а ретранслирует аутентификацию от другого IDP. – Henrik

+0

Это типичный сценарий, в котором ADFS действует как поставщик федерации (FP). В любом случае, возвращаясь к моему ответу, я предлагаю вам проверить запрос аутентификации SAML, например. SAML, и убедитесь, что атрибут ForceAuthn в нем отсутствует. – UncleZen

Смежные вопросы