2016-02-17 3 views
-1

У нас есть требование для создания плагинов/компонентов на основе .NET для включения проверки подлинности против нескольких поставщиков IDP, таких как ADFS, Azure AD и Shibboleth на основе конфигурации БД. то есть в зависимости от настраиваемого параметра анонимный пользователь будет аутентифицирован против любого из IDP, таких как ADFS, Azure AD или Shibboleth IDP.Плагин .NET - несколько IDP для аутентификации

Наш URL-адрес приложения («https://www.contoso.com/ProcessToken.aspx») будет зарегистрирован как идентификатор RP во всех трех провайдерах.

Мы не будем изменять какие-либо изменения в web.config для любого из поставщиков.

Во время работы пользователь получит доступ к общей странице (Proesstoken.aspx), которой необходимо перенаправить на любой из URL-адресов страницы входа в провайдер (ADFS, Shibboleth, Azure) для аутентификации на основе организации пользователя. (Например: пользователь A в ADFS, пользователь B до Shibboleth и т. Д.)

После успешной аутентификации у IDP пользователю необходимо перенаправить провайдер (ADFS/Shibboleth/Azure AD) на зарегистрированный URL-адрес RP.

На перенаправленной странице (ProcessToken.aspx) мы планируем получить токен безопасности и расшифровать требуемые требования.

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

PS: Рассматриваются варианты как Owin Authentication Middle Tier, Компонента .NET и т.д.

нуждаются в руководстве о том, как и с чего начать.

ответ

0

Посмотрите на IdentityServer 3, который реализует этот многоадресный сценарий или OWIN : ASP.NET MVC application with multiple authentication options.

Главное, что вы используете NuGet для загрузки всех необходимых вам протоколов и используете OWIN, чтобы вытащить их все через приложение app.use.

+0

Мы расширили эту структуру для поддержки Shibboleth, ADFS, Azure AD – Saravanan

0

Вы можете настроить ADFS, чтобы доверять поставщику требований, используя другой IDP, Owin подтвердит аутентификацию. Трудная часть будет читать атрибуты из токенов. ADFS под обложками в сочетании с платформой Owin использует ws-федерацию, я не понял, как читать SAML.

Что вводит в заблуждение, так это то, что когда-то ответ был WIF, но теперь, когда был выпущен 4.51, WIF был перемещен в Овин. Документация для приложения с несколькими арендаторами в лучшем случае является отрывочной.