Доступ и использование UserClaims в ASP. NET Core Web API - PullRequest
1 голос
/ 24 апреля 2020

Я работаю над ASP. NET Core Web API впервые и довольно плохо знаком с ним. Я добавил претензии, и теперь я хочу что-то вроде «читать» и получить к ним доступ.

Может ли кто-нибудь помочь мне с этим?

1 Ответ

0 голосов
/ 24 апреля 2020

Это на самом деле довольно просто. При создании токена JWT вы добавляете к нему претензии. Это может быть userId, его роль et c.

Таким образом, при настройке авторизации по схеме Bearer будет проверяться каждый запрос, требующий авторизации. Например, этому методу можно будет достичь только с помощью токена jwt с типом заявки роль из admin :

[Authorize(AuthenticationSchemes = "Bearer")]
public class YourController : ControllerBase
{
    ...
    [HttpGet]
    [Authorize(Roles = "admin")]
    public async Task<IActionResult> Method(string id)
    {
    }
    ...
}

Если токен не требуется претензия, вы получите 403 Forbidden ответ

...