我正在为我们的应用程序SAML2 SSO使用https://github.com/Sustainsys/Saml2库。我想稍后将AuthMode设置为在应用程序上处于活动状态,其背后的原因不是我们的所有客户端都使用SAML2,因此,如果客户端访问其域,则应将其重定向到其IDP登录页面。
但是,此AuthMode属性仅在Startup.Auth.cs
中可用,我无法在应用程序中的某个位置访问它。
通过这种方式,我使用Owin。
反正我可以这样做吗?
答案 0 :(得分:1)
是的,有可能。保留对Saml2AuthenticationOptions的引用(例如静态属性/字段),然后在运行时进行更改。它将立即生效。
但是,您可能不想走这条路。您已经使cookie中间件处于活动状态,并且Owin管道仅针对一种活动中间件而设计,而不是多个。
因此,相反,将CookieAuthenticationHandler中的LoginPath
设置为一个控制器/操作,该操作仅以Saml2身份验证方法作为质询方案返回一个ChallengeResponse
。 (如果创建新的应用程序,则ChallengeResponse将包含在asp.net身份模板代码中。)