Owin Context Имя пользователя пустое - PullRequest
1 голос
/ 30 мая 2019

У меня есть следующий метод, который будет вызываться в моем веб-интерфейсе

 public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)

Мне нужно установить роль в качестве заявки на основе утверждений, если имя пользователя в контексте.

Но значения нетдля context.username

Мне нужно знать, где было задано имя пользователя.

Пожалуйста, ознакомьтесь с полным контекстом

Writing context
ClientId:; UserName:; Password:; Scope:System.String[]; Ticket:; IsValidated:False; HasError:False; Error:; ErrorDescription:; ErrorUri:; OwinContext:Microsoft.Owin.OwinContext; Options:Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerOptions; Request:Microsoft.Owin.OwinRequest; Response:Microsoft.Owin.OwinResponse; 

Writing Request
Environment:Microsoft.Owin.Host.SystemWeb.CallEnvironment.AspNetDictionary; Context:Microsoft.Owin.OwinContext; Method:POST; Scheme:https; IsSecure:True; Host:holmesdev.nam.nsroot.net:4321; PathBase:/hisapi; Path:/token; QueryString:; Query:Microsoft.Owin.ReadableStringCollection; Uri:https://server.nam.nsroot.net:4321/hisapi/token; Protocol:HTTP/1.1; Headers:Microsoft.Owin.HeaderDictionary; Cookies:Microsoft.Owin.RequestCookieCollection; ContentType:application/x-www-form-urlencoded; CacheControl:; MediaType:; Accept:application/json, text/plain, */*; Body:Microsoft.Owin.Host.SystemWeb.CallStreams.InputStream; CallCancelled:System.Threading.CancellationToken; LocalIpAddress:1XX.171.XX.XX5; LocalPort:4321; RemoteIpAddress:10.XX.XX3.XX1; RemotePort:591XX; User:; 

Writing Response
Environment:Microsoft.Owin.Host.SystemWeb.CallEnvironment.AspNetDictionary; Context:Microsoft.Owin.OwinContext; StatusCode:200; ReasonPhrase:OK; Protocol:; Headers:Microsoft.Owin.HeaderDictionary; Cookies:Microsoft.Owin.ResponseCookieCollection; ContentLength:; ContentType:text/html; Expires:; ETag:; Body:Microsoft.Owin.Host.SystemWeb.CallStreams.OutputStream; 

Как заполнить "username"?

Единственное место, где я получаю значение для идентификатора пользователя, находится в контроллере API.показано ниже:

 [Route("api/User/UpdateUserDetail")]
  [HttpPost]
  public HttpResponseMessage UpdateUserDetail(User userData)

Нет имени пользователя, доступного в SimpleAuthorizationServerProvider.cs, как я должен перенести идентификатор пользователя из контроллера в SimpleAuthorizationServerProvider.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...