我有带有个人用户帐户的 VS2013 MVC5 项目。我修改Startup {Configuration(IAppBuilder app)}
了这UseOpenIdConnectAuthentication
是唯一允许的身份验证。
用户可以使用开箱即用的 MVC 项目模板管道在 AspNetIdentity DB 中注册。注册后,用户使用 OIDC 登录。
OpenID Connect STS(IdentityServer3 with AspNetIdentity)返回一个带有声明和角色的安全令牌。这些声明可ClaimsPrincipal
从Request.GetOwinContext().Authentication.User
.
Controller.User
但是, (当前 HTTP 请求上下文)中缺少这些声明。
ClaimsPrincipal
让两者匹配是一件好事吗?
问题:如果是这样,我该怎么做以及在哪里做?我不是专家,想知道OpenIdConnectAuthenticationNotifications.SecurityTokenValidated
or
Application_PostAuthenticateRequest
呢?
我意识到这是将 MVC5System.Web
与 OpenIdConnect 的 OWIN 中间件混合的副作用,而不是默认的 MVC5 项目身份验证中间件。