Я разрабатываю приложение веб-API ASP.NET Core. Я использую Swagger и применил аутентификацию токена носителя JWT, но когда я пытаюсь передать токен носителя из пользовательского интерфейса Swagger, я получаю ошибку 401. Мой код:< /strong>
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
c.SwaggerDoc("v2", new OpenApiInfo { Title = "My API", Version = "v2" });
c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
{
In = ParameterLocation.Header,
Description = "JWT Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\"",
Name = "Authorization",
Type = SecuritySchemeType.ApiKey,
});
});
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "Versioned API v1.0");
c.SwaggerEndpoint("/swagger/v2/swagger.json", "Versioned API v2.0");
c.DocExpansion(DocExpansion.None);
});
Я разрабатываю приложение веб-API ASP.NET Core. Я использую Swagger и применил аутентификацию токена носителя JWT, но когда я пытаюсь передать токен носителя из пользовательского интерфейса Swagger, я получаю ошибку 401. [b]Мой код:< /strong> [code]services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" }); c.SwaggerDoc("v2", new OpenApiInfo { Title = "My API", Version = "v2" });
c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme { In = ParameterLocation.Header, Description = "JWT Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\"", Name = "Authorization", Type = SecuritySchemeType.ApiKey, }); });
app.UseSwagger(); app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "Versioned API v1.0"); c.SwaggerEndpoint("/swagger/v2/swagger.json", "Versioned API v2.0");
Я создал образец основного приложения .Net WebAPI, чтобы понять реализацию JWT. API был создан и в него добавлена аутентификация на основе JWT. API возвращает токен от контроллера токенов. Но если мы добавим токен в заголовок для выполнения...
После обновления пакета Microsoft.AspNetCore.Authentication.JwtBearer с версии 3.1.14 до 6.0.1 запросы с аутентификацией завершаются с ошибкой 401 Неавторизованный недействительный токен.
Что нужно изменить в новой версии пакета?
Я успешно сгенерировал токен доступа и авторизовался. Но похоже, что Swagger неправильно отправляет токен в заголовке авторизации.
/auth/token выглядит
@router.post('/token',status_code=status.HTTP_201_CREATED)
def...
Я успешно сгенерировал токен доступа и авторизовался. Но похоже, что Swagger неправильно отправляет токен в заголовке авторизации.
/auth/token выглядит следующим образом:
@router.post('/token',status_code=status.HTTP_201_CREATED)
def...
Я новичок в быстром API. Я успешно сгенерировал токен доступа и авторизовался. Но похоже, что Swagger неправильно отправляет токен в заголовке авторизации.
/auth/token выглядит
@router.post('/token',status_code=status.HTTP_201_CREATED)
def...