我有VS2013 MVC5項目與個人用戶帳戶。我修改了Startup {Configuration(IAppBuilder app)}
,以便UseOpenIdConnectAuthentication
是唯一允許的身份驗證。UseOpenIdConnectAuthentication之後,如何將來自Security Token的聲明放入OwinConext.User中的Controller.User(Current HttpContext)中?
用戶可以使用開箱即用的MVC項目模板管道在AspNetIdentity數據庫中進行註冊。註冊後,用戶使用OIDC登錄。
OpenID Connect STS(IdentityServer3 with AspNetIdentity)返回一個包含聲明和角色的安全令牌。這些索賠可從ClaimsPrincipal
的Request.GetOwinContext().Authentication.User
中獲得。
但是,Controller.User
(當前HTTP請求上下文)中缺少這些聲明。
讓兩個ClaimsPrincipal
匹配是一件好事嗎?
問題:如果這樣怎麼辦?其中我這樣做嗎?我不是專家,不知道OpenIdConnectAuthenticationNotifications.SecurityTokenValidated
或 Application_PostAuthenticateRequest
?
我意識到這是混合MVC5 System.Web
與OWIN中間件的OpenIdConnect,而不是默認的MVC5項目認證中間件的副作用。
我很高興看到你有OIDC與IdentityServer3和AspNetIdentity合作。我正在努力讓我的客戶未知或未經授權的錯誤工作。我在這裏發佈我的問題:http://stackoverflow.com/questions/29607527任何機會,你可以看看和建議? – 2015-04-13 14:14:10