文章目录
前言
配置Swagger支持JWT
一、配置方法
- 在 Program.cs 的 Swagger 配置部分添加安全定义和需求:
builder.Services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" }); // 添加 JWT 认证配置 var securityScheme = new OpenApiSecurityScheme { Name = "Authorization", Description = "JWT Authorization header using the Bearer scheme.\r\nExample:'Bearer fadffdfadfds'", In = ParameterLocation.Header, Type = SecuritySchemeType.ApiKey, Scheme = "bearer", BearerFormat = "JWT", Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = "Authorization" } }; c.AddSecurityDefinition("Authorization", securityScheme); var securityRequirement = new OpenApiSecurityRequirement { { securityScheme, new[] { "Bearer" } } }; c.AddSecurityRequirement(securityRequirement); });
二、使用
1、运行应用程序并导航到 /swagger
- 如下图:
2、点击右上角的 Authorize 按钮。
- 如下图:
3、输入 JWT 令牌,格式为 Bearer your_jwt_token。
- 如下图:
4、后续请求将自动携带 Authorization 头。
三、注意事项
- 令牌格式:输入令牌时确保包含 Bearer 前缀和空格。
- 作用域配置:如需更细粒度的控制,可在 AddSecurityRequirement 中指定作用域。
- 生产环境:确保在生产环境中使用 HTTPS 并妥善保管密钥。
总结
完成上述配置后,Swagger 将自动在请求头中添加 JWT,方便在开发过程中测试受保护的 API 端点。