.net core web api jwt - PullRequest
       9

.net core web api jwt

0 голосов
/ 11 июня 2019

У меня есть проект веб-API, где:

  1. некоторые действия контроллера требуют аутентификации JWT,
  2. некоторые не нуждаются в аутентификации JWT,
  3. некоторые возвращаютразные данные в зависимости от действительности JWT, если данные отличаются только значением одного поля.

1-й вариант прост, поскольку промежуточное программное обеспечение JWT-аутентификации справится с этим, но как мне добиться другого?

1 Ответ

1 голос
/ 13 июня 2019

2). Добавьте атрибут [AllowAnonymous] к конечной точке или контроллеру, чтобы отключить аутентификацию для этой конечной точки / контроллера.

3). Вам нужно будет проверить утверждения пользователей (при условии, что вы добавили туда различные разрешения - и логику применения к возвращаемым значениям в зависимости от этих значений. Если вы вернете IHttpActionResult, например, вы можете динамически изменять возвращаемые значения в зависимости от вашей логики.

    public IHttpActionResult GetProduct(int id)
    {
        var product = products.FirstOrDefault((p) => p.Id == id);
        if (product == null)
        {
            return NotFound();
        }
        return Ok(product);
    }
...