Несколько [Authorize (Schemes = «a»)] [Authorize (Schemes = «B»)] Атрибуты против [Authorize (Schemes = "a, b")] - или иC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Несколько [Authorize (Schemes = «a»)] [Authorize (Schemes = «B»)] Атрибуты против [Authorize (Schemes = "a, b")] - или и

Сообщение Anonymous »

У меня есть основной веб -API ASP.net с двумя схемами аутентификации: < /p>
  • : аутентификация на основе JWT по умолчанию
  • Код: Выделить всё

    ClientCredentials
    : Аутентификация на основе JWT для клиентских учетных данных Flow
Я сравниваю эти два подхода на конечных точках контроллера:
[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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»