美文网首页
.NET6 Swagger右上角的Authorize权限按钮不显

.NET6 Swagger右上角的Authorize权限按钮不显

作者: 哈利路 | 来源:发表于2022-03-10 09:48 被阅读0次

    首先 .NET6 是自带Swagger的,无需手动引入,但是有个问题,最初的Swagger是没有开启Authorize按钮的。

    最初的模样

    如何把它显示出来并将token信息加入header中呢?
    只需在program.cs页面中加入如下代码:

    builder.Services.AddSwaggerGen(c =>
    {
        var security = new OpenApiSecurityRequirement()
                    {
                        { new OpenApiSecurityScheme
                        {
                            Reference = new OpenApiReference()
                            {
                                Id = "Bearer",
                                Type = ReferenceType.SecurityScheme
                            }
                        }, Array.Empty<string>() }
                    };
        c.AddSecurityRequirement(security);//添加一个必须的全局安全信息,和AddSecurityDefinition方法指定的方案名称要一致,这里是Bearer。
        c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
        {
            Description = "JWT授权(数据将在请求头中进行传输) 参数结构: \"Authorization: Bearer {token}\"",
            Name = "Authorization",//jwt默认的参数名称
            In = ParameterLocation.Header,//jwt默认存放Authorization信息的位置(请求头中)
            Type = SecuritySchemeType.ApiKey
        });
    });
    

    再启动项目,Authorize按钮就出线了

    image.png

    将token以 Bearer[空格]token 的形式写入按钮中,再访问接口,token信息就会被加载http请求的header中

    相关文章

      网友评论

          本文标题:.NET6 Swagger右上角的Authorize权限按钮不显

          本文链接:https://www.haomeiwen.com/subject/golfdrtx.html