WS Fed с SAML 1.1 и SAML 2.0 для нескольких клиентов в приложении MVC

У нас есть требование, чтобы наше клиентское приложение MVC предоставляло возможность единого входа нескольким клиентам путем входа в их собственный IDP. Но некоторые из них предоставляют SAML 1.1, который мы уже поддерживаем с помощью WSFederationAuthenticationModule, а некоторые из них недавно отправляют токен SAML 2.0, что приводит к сбою нашего приложения MVC.

Могу ли я использовать WSFederationAuthenticationModule для поддержки токена SAML 2.0?

Какие еще есть альтернативные предложения?


person pavan kumar    schedule 19.12.2017    source источник


Ответы (2)


Проблема в том, что 1.1 применяет полный URI, например.

"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"

тогда как 1.2 позволяет только «адрес электронной почты».

Вы можете использовать GetOutputClaimsIdentity

и иметь что-то вроде:

outputIdentity.Claims.Add(new Claim(ClaimTypes.xxx, «остальная часть URI» + адрес электронной почты));

person rbrayb    schedule 19.12.2017

Я думаю, что нашел решение своей проблемы. Расширение Saml2SecurityTokenHandler решило мою проблему. WsFedAuthenticationModule может успешно преобразовать токен saml2 в утверждения saml 1.1.

person pavan kumar    schedule 13.02.2018