SAML2 устанавливает AuthMode активным позже в приложении

#saml-2.0 #sustainsys-saml2

#saml-2.0 #sustainsys-saml2

Вопрос:

Я использую https://github.com/Sustainsys/Saml2 библиотека для нашего приложения SAML2 SSO. Я хотел бы установить AuthMode активным позже в приложении, причина этого в том, что не все наши клиенты используют SAML2, поэтому, если клиент посетил их домен, он должен быть перенаправлен на страницу входа Idp.

Однако это свойство AuthMode доступно только в Startup.Auth.cs , и я не могу получить к нему доступ где-либо в приложении.

Кстати, я использую Owin для этого.

Могу ли я в любом случае это сделать?

Ответ №1:

Да, это возможно. Сохраняйте ссылку на Saml2AuthenticationOptions (например, статическое свойство / поле), а затем изменяйте ее во время выполнения. Это вступит в силу немедленно.

Но вы, вероятно, не хотите идти по этому пути. У вас уже есть промежуточное программное обеспечение cookie как активное, а конвейер Owin предназначен только для одного активного промежуточного программного обеспечения, а не для нескольких.

Поэтому вместо этого установите LoginPath в CookieAuthenticationHandler значение контроллера / действия, которое просто возвращает a ChallengeResponse с методом аутентификации Saml2 в качестве схемы вызова. (ответ на запрос включен в asp.net стандартный код идентификации при создании нового приложения).