2015-05-29 1 views
2

У меня есть прецедент, когда веб-приложение должно позволить пользователям проходить аутентификацию двумя разными способами, но используя одно и то же хранилище данных пользователя (aka IDP) через SAML.Аутентификация с использованием базовой аутентификации на основе SAML?

  • Браузер пользователя перенаправляется в IDP и перенаправляется обратно с утверждением SAML (также как профиль WebSSO).
  • Пользователь делает запрос к SP, предоставляя свои учетные данные с помощью базовой аутентификации. Затем SP необходимо будет отправить учетные данные пользователя в IDP, а IDP предоставит подтверждение через обратный канал (сервер к серверу).

Я использую расширение SAML Spring Security. Пример приложения в Spring SAML содержит как базовую аутентификацию с именем пользователя и паролем, так и аутентификацией на основе SAML, но в разделе Basic Auth используются локальные учетные записи, определенные в файле securityContext.xml. Мне нужно использовать учетные записи пользователей в IDP. Это возможно? Если да, как мне настроить Spring SAML?

ответ

3

Нет стандартного механизма SAML WebSSO, который позволяет SP запрашивать утверждение для конкретного пользователя, предоставляя ее учетные данные. Возможно, вы захотите ознакомиться с стандартом WS-Trust, который охватывает такие прецеденты, используя методы токена безопасности запроса (вызовы RST/RSTR). Другой вполне стандартизированный способ сделать это - Client Credentials grant of OAuth 2.0. Оба они не подходят для Spring SAML, но могут быть объединены с ним.