веб-api получает информацию о пользователе внутри контроллера

#c# #asp.net-web-api #asp.net-identity

#c# #asp.net-web-api #asp.net-идентификация

Вопрос:

Я использую стандартный механизм owin asp.net.identity для авторизации пользователей с использованием их токена доступа. Внутри моего контроллера я хотел бы узнать, кто отправил запрос. Как я мог это сделать? Могу ли я каким-либо образом получить токен доступа из запроса внутри моего контроллера?

Я пытался:

 public HttpResponseMessage Get([FromUri] GetParameters parameters)
{
   Var identity = RequestContext.Principal.Identity;
}
  

Это не дает мне многого, поскольку большинство свойств всегда равно null.

Ответ №1:

попробуйте

 string token = HttpContext.Current.Request.LogonUserIdentity.Token.ToString();
  

Комментарии:

1. Это возвращает «Microsoft.Win32.SafeHandles. SafeAccessTokenHandle»