- : аутентификация на основе JWT по умолчанию
Код: Выделить всё
Bearer
- : Аутентификация на основе JWT для клиентских учетных данных Flow
Код: Выделить всё
ClientCredentials
[ApiController]
[Route("test")]
public class TestController : ControllerBase
{
// Approach 1: Multiple [Authorize] attributes
[Authorize(AuthenticationSchemes = "Bearer")]
[Authorize(AuthenticationSchemes = "ClientCredentials")]
[HttpGet("test1")]
public IActionResult Test1()
{
return Ok("Success");
}
// Approach 2: Single [Authorize] with multiple schemes
[Authorize(AuthenticationSchemes = "Bearer,ClientCredentials")]
[HttpGet("test2")]
public IActionResult Test2()
{
return Ok("Success");
}
}
< /code>
Каковы различия между этими двумя методами написания? Однако после моего фактического теста я обнаружил, что эти два способа письма одинаковы. Я использую тот же тот же, чтобы получить доступ к API и записать его отдельно над интерфейсом < /p>
[Authorize(AuthenticationSchemes = "Bearer")]
< /code>
возвращает HTTP 401, указание: < /p>
[Authorize(AuthenticationSchemes = "ClientCredentials")]
< /code>
возвращает http 200. < /p>
Когда они записаны вместе, он также возвращает результат HTTP 200. < /p>
Это запутало меня. Итак, эти два способа определения схем автоза>
Подробнее здесь: https://stackoverflow.com/questions/797 ... utes-vs-au