-
[ASP.NET Core] Swagger UI에 JWT 인증(Authorize) 추가하기Microsoft .NET/ASP.Net & ASP.Net Core 2026. 11. 10. 00:58

Swagger UI에서
Authorize버튼으로 Bearer 토큰을 넣어 테스트하는 설정입니다.절차
- 패키지 설치
- 보안 스키마 등록
- UI에서 토큰 입력
- 자주 하는 실수
1. 패키지
dotnet add package Swashbuckle.AspNetCore2. 보안 스키마 등록
builder.Services.AddSwaggerGen(o => { o.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme { Name = "Authorization", Type = SecuritySchemeType.Http, Scheme = "bearer", BearerFormat = "JWT", In = ParameterLocation.Header }); o.AddSecurityRequirement(new OpenApiSecurityRequirement { { new OpenApiSecurityScheme { Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = "Bearer" } }, Array.Empty<string>() } }); });3. UI에서 토큰 입력
앱을 실행하고
/swagger를 열면 상단에 Authorize 버튼이 생깁니다. 여기에 토큰 값만 넣으면 이후 요청에Authorization: Bearer ...헤더가 자동으로 붙습니다.4. 자주 하는 실수
Bearer를 직접 붙여Bearer Bearer ...가 됨 — 값만 넣어야 합니다- 스킴은
Http+bearer조합이어야 입력창이 뜹니다(ApiKey면 헤더 이름만 입력) - 토큰 만료 후 401이 나면 다시 발급해야 합니다
- 운영에서는 Swagger UI 노출을 막습니다
if (app.Environment.IsDevelopment()) { app.UseSwagger(); app.UseSwaggerUI(); }정리
AddSecurityDefinition으로 Bearer 스킴 등록- 토큰은 값만 입력
- 운영에서는 UI 노출을 막는다
'Microsoft .NET > ASP.Net & ASP.Net Core' 카테고리의 다른 글
[ASP.NET Core] CORS 오류 "blocked by CORS policy" 원인과 설정 (0) 2026.11.10 [ASP.NET Core] 전역 예외 처리, IExceptionHandler와 ProblemDetails (.NET 8) (0) 2026.11.10 [.NET] BackgroundService로 주기 작업 만들기, 종료 처리까지 (0) 2026.11.10 [ASP.NET Core] JWT 토큰 발급·검증 최소 구현 (.NET 8) (0) 2026.11.10 [ASP.NET Core] "No authenticationScheme was specified" 401 오류 원인과 해결 (0) 2026.11.10