【问题标题】:How do I access authorization token in my Api?如何在我的 Api 中访问授权令牌?
【发布时间】:2020-03-17 09:36:43
【问题描述】:
有没有办法可以在我的 Api 中访问此参数/承载令牌?
这是我需要访问的 API 中的方法:
[HttpGet]
[Route("user/{token}")]
public async Task<IEnumerable<Item>> GetUserItems(//TOKEN token)
{
var itemsQuery = Context.Items.Where(i => i.User.JwtToken == token);
return await itemsQuery.ToListAsync().ConfigureAwait(false);
}
【问题讨论】:
标签:
c#
.net
asp.net-mvc
entity-framework
api
【解决方案1】:
由于不记名令牌在标头字段中,您可以尝试使用 [FromHeader] 属性
[HttpGet]
[Route("user")]
public async Task<IEnumerable<Item>> GetUserItems([FromHeader(Name = "Authorization")] string token)
{
token = token.Replace("Bearer ", "");
var itemsQuery = Context.Items.Where(i => i.User.JwtToken == token);
return await itemsQuery.ToListAsync().ConfigureAwait(false);
}
【解决方案2】:
Context.Request.Headers.Authorization.Parameter
会给你不记名令牌。