Net Core 3.0 ile bazı Web Api geliştiriyorum ve SwashBuckle.Swagger ile entegre etmek istiyorum. İyi çalışıyor, ancak JWT kimlik doğrulaması eklediğimde, beklediğim gibi çalışmıyor. Bunu yapmak için aşağıdaki kodu ekledim:
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo { Title = "My Web API", Version = "v1" });
c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
{
Description = "JWT Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\"",
Name = "Authorization",
In = ParameterLocation.Header,
Type = SecuritySchemeType.ApiKey
});
});
AddSecurityDefinitionİşlev ekledikten sonra Yetkilendir düğmesini görebilirim ve tıkladığımda aşağıdaki formu görüyorum:

Sonra yazıyorum Bearer WhatEverApiKeyIsfgdgdgdg845734987fgdhgiher635kjh, Bunu yaptıktan sonra authorization: Bearer WhatEverApiKeyIsfgdgdgdg845734987fgdhgiher635kjhSwagger'den Web Api'ye bir istek gönderdiğimde, isteğin başlığında görmeyi bekliyorum . Ancak istek üstbilgisine yetkilendirme eklenmez. SwashBuckle.Swagger (5.0.0-rc3) kullanıyorum. Lütfen .net core 2.0 üzerinde iyi çalışan birçok örnek olduğunu unutmayın, ancak Swashbuckle swagger işlevleri en son sürümde değişti, bu yüzden bu örnekleri kullanamıyorum.
.AddSecurityRequirement(küresel olarak) veya .Security(çalışma seviyesinde) eklemektir . AddSecurityDefinitiontek başına yeterli değildir.

