如何在Api中访问授权令牌?

时间:2020-03-17 09:36:43

标签: c# .net asp.net-mvc entity-framework api

有没有办法可以在我的Api中访问此参数/承载令牌? enter image description here

这是我需要访问的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);
    }

2 个答案:

答案 0 :(得分:1)

 Context.Request.Headers.Authorization.Parameter

将为您提供不记名令牌。

答案 1 :(得分: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);
}