У меня есть VS2013 MVC5 проект с Индивидуальные учетные записи пользователей. Я изменил Startup {Configuration(IAppBuilder app)}
, так что только допустимая аутентификация - UseOpenIdConnectAuthentication
.После того, как UseOpenIdConnectAuthentication, как подать претензии из маркера безопасности в Controller.User (Current HttpContext), которые находятся в OwinConext.User?
Пользователи могут зарегистрироваться в БД AspNetIdentity с использованием встроенного шаблона шаблона проекта MVC. После регистрации пользователи регистрируются с помощью OIDC.
OpenID Connect STS (IdentityServer3 с AspNetIdentity) возвращает маркер безопасности с претензиями и ролями. Эти претензии доступны из аутентифицированного ClaimsPrincipal
в Request.GetOwinContext().Authentication.User
.
Однако эти претензии отсутствуют в Controller.User
(контекст текущего HTTP-запроса).
Это хорошая вещь, чтобы сделать два матча ClaimsPrincipal
?
ВОПРОС: Если да, то как и где do I do that? Я не эксперт и не удивляюсь, что насчет OpenIdConnectAuthenticationNotifications.SecurityTokenValidated
или Application_PostAuthenticateRequest
?
Я понимаю, что это побочный эффект смешивания MVC5 System.Web
с промежуточным программным обеспечением OWIN для OpenIdConnect, а не промежуточным программным обеспечением для проверки подлинности проекта MVC5 по умолчанию.
Я рад видеть, что у вас есть РСИН работы с IdentityServer3 и AspNetIdentity. Я изо всех сил пытаюсь заставить мою работу с ошибкой, что клиент неизвестен или несанкционирован. Я разместил здесь свой вопрос: http: //stackoverflow.com/questions/29607527. Любой шанс вы можете посмотреть и посоветовать? –