You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core 6 Web API中Swagger未显示Authorize图标求助

.NET Core 6 Web API 配置Swagger授权功能

要让Swagger支持接口授权测试,按以下步骤配置:

1. 安装依赖包

安装Swagger授权扩展包,可通过.NET CLI执行命令:

dotnet add package Swashbuckle.AspNetCore.Filters

2. 配置Swagger服务(Program.cs)

在AddSwaggerGen中添加JWT认证的安全定义与全局授权要求:

builder.Services.AddSwaggerGen(c =>
{
    // 定义JWT认证方案
    c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
    {
        Description = "JWT授权格式:Bearer {token}",
        Name = "Authorization",
        In = ParameterLocation.Header,
        Type = SecuritySchemeType.Http,
        Scheme = "Bearer"
    });

    // 为所有接口添加授权要求
    c.AddSecurityRequirement(new OpenApiSecurityRequirement
    {
        {
            new OpenApiSecurityScheme
            {
                Reference = new OpenApiReference
                {
                    Type = ReferenceType.SecurityScheme,
                    Id = "Bearer"
                }
            },
            Array.Empty<string>()
        }
    });
});

3. 启用Swagger UI授权按钮

在UseSwaggerUI中开启授权持久化,让UI显示授权按钮:

app.UseSwaggerUI(c =>
{
    c.SwaggerEndpoint("/swagger/v1/swagger.json", "你的API名称 V1");
    // 开启授权状态持久化,刷新页面后无需重新授权
    c.EnablePersistAuthorization();
});

4. 测试授权

启动项目打开Swagger页面,会看到新增的Authorize按钮。点击后输入Bearer 你的JWT令牌,确认后即可测试需要授权的接口。

内容的提问来源于stack exchange,提问作者GettingStarted

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 14:52:09