Чтобы разрешить моему сервисному уровню доступ к текущему идентификатору пользователя в любое время, когда это необходимо, я использую Thread.CurrentPrincipal.
Сервисный уровень используется двумя интерфейсными уровнями, одним приложением MVC и одним веб-интерфейсом MVC.используется для мобильного приложения.
В веб-приложении я использую Аутентификацию по формам, а Принципал установлен в Application_PostAuthenticateRequest
.Работает нормально.
В веб Api я использую Owin.Но я не могу найти способ установить этого принципала после каждой проверки подлинности с помощью токена доступа.
Я могу сделать это, когда пользователь входит в систему со своими учетными данными, переопределив GrantResourceOwnerCredentials
в моем OAuthAuthorizationServerProvider
или когдаон регистрирует свой токен обновления, переопределяя GrantRefreshToken
в том же классе.
Но где я могу назначить его для запросов, автоматически аутентифицированных с помощью токена доступа?
NB.Я знаю, что в моих контроллерах Api я могу получить доступ к текущему пользователю, и он настроен правильно, но я не хочу передавать его при каждом вызове на мой уровень обслуживания.
Спасибо.