如何通过SwaggerDocument配置FastEndpoints Swagger传递Bearer Token
FastEndpoints Swagger Bearer授权Header正确配置方法
直接通过SwaggerDocument()的配置委托完成所有设置,核心是正确定义Bearer认证方案并添加全局安全要求,确保Token能自动传递到服务端。
完整配置代码
builder.Services.AddFastEndpoints() .SwaggerDocument(config => { // 配置文档联系信息 config.PostProcess = document => { document.Info.Contact = new NSwag.OpenApiContact { Name = "应用名称" }; }; // 配置Bearer认证方案 config.AddSecurity("Bearer", Enumerable.Empty<string>(), new NSwag.OpenApiSecurityScheme { Type = NSwag.OpenApiSecuritySchemeType.Http, Scheme = "bearer", BearerFormat = "JWT", // 可选,根据你的Token类型调整 In = NSwag.OpenApiSecurityApiKeyLocation.Header, Name = "Authorization", Description = "输入格式为 `Bearer {你的Token}` 的内容" }); // 添加全局安全要求,确保请求自动携带Token config.DocumentProcessors.Add(new NSwag.OpenApiSecurityRequirementsProcessor { SecurityRequirements = new List<NSwag.OpenApiSecurityRequirement> { new() { { "Bearer", Enumerable.Empty<string>() } } } }); });
关键注意点
- 所有配置逻辑必须放在
SwaggerDocument的委托参数内部,避免语法错误 - Bearer认证的
Type需设为Http而非ApiKey,这是符合HTTP认证规范的设置,Swagger UI会据此生成正确的Token输入组件 - 必须添加全局安全要求,否则Swagger不会自动将Token附加到请求头中
- 确保你的端点标记了
[Authorize]特性,Swagger才会识别该接口需要认证
内容的提问来源于stack exchange,提问作者Gholamreza Fathpour
相关产品推荐
相关产品推荐

