Почему я должен всегда определять JwtBearerDefaults.AuthenticationScheme для моего атрибута Authorize?C#

Место общения программистов C#
Anonymous
Почему я должен всегда определять JwtBearerDefaults.AuthenticationScheme для моего атрибута Authorize?

Сообщение Anonymous »

У меня есть простой пример аутентификации JWT, который вы можете найти здесь

Код: Выделить всё

services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
Как вы можете видеть, я добавил JwtBearerDefaults.AuthenticationScheme в метод Authentication внутри Startup/ConfigureServices, поэтому я смогу использовать [ Авторизовать] автономно, как показано ниже

Код: Выделить всё

[Authorize]
public sealed class WeatherForecastController : BaseController
{
private static readonly string[] Summaries = new[]
{
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};
но я не знаю, почему это не работает! (Я тестировал с Postman). Я должен определить его с помощью AuthenticationSchemes.

Код: Выделить всё

[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
public sealed class WeatherForecastController : BaseController
{
private static readonly string[] Summaries = new[]
{
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};
Может ли кто-нибудь подсказать мне, как я могу использовать автономный атрибут Authorize без AuthenticationSchemes, особенно если я определил его внутри ConfigurationServices
код>? Что я установил не так?


Подробнее здесь: https://stackoverflow.com/questions/669 ... orize-attr

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