재우니의 블로그

 

 

ASP.NET Core 8.0을 사용하면 이제 MapSwagger().RequireAuthorization 을 호출하여 Swagger UI 엔드포인트를 보호할 수 있습니다. 다음 코드 예제를 고려해보세요.

 

WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
 
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
 
builder.Services.AddAuthorization();
builder.Services.AddAuthentication("Bearer").AddJwtBearer();
 
WebApplication app = builder.Build();
 
app.UseSwagger();
app.UseSwaggerUI();
 
app.MapSwagger().RequireAuthorization();
 
app.MapGet("/status", () =>
{
    return "ONLINE";
})
.WithName("GetStatus")
.WithOpenApi();
 
app.Run();

 

 

여기서 /status 의 endpoint  는 권한 부여( authorization) 가 필요하지 않지만, Swagger endpoint 는 권한 부여( authorization) 가 필요합니다.