zoukankan      html  css  js  c++  java
  • Swagger生成的接口需要权限验证的处理方法

    通常开发API的时候需要对接口进行权限验证,而我们在使用Swagger生成接口文档界面的时候,直接调用需要权限验证的接口会提示"当前用户没有登陆"

    为了解决此问题,我们需要更改一下Swagger的配置,

    找到Startup文件,我们看到Swagger的配置如下:

    services.AddSwaggerGen(options =>
                {
                    options.SwaggerDoc("v1", new Info { Title = "YjJob API", Version = "v1" });
                    options.DocInclusionPredicate((docName, description) => true);
    
                });

    现在我们添加一下配置配置:

    services.AddSwaggerGen(options =>
                {
                    options.SwaggerDoc("v1", new Info { Title = "YjJob API", Version = "v1" });
                    options.DocInclusionPredicate((docName, description) => true);
                    options.AddSecurityDefinition("Bearer", new ApiKeyScheme
                    {
                        Description = "Authorization format : Bearer {token}",
                        Name = "Authorization",
                        In = "header",
                        Type = "apiKey"
                    });//api界面新增authorize按钮
                });
    

      修改后我们可以看到生成的Swagger UI界面新增了一个“Authorize”按钮:

    点击“Authorize”按钮弹出以下界面

    在value文本框中输入"Bearer "+token(登陆接口返回的access_token),然后点击“Authorize”按钮。之后再调用需要权限验证的接口就可以正常调用了

     
    如果您认为这篇文章还不错或者有所收获,您可以通过右边的“打赏”功能 打赏我一杯咖啡【物质支持】,也可以点击右下角的【好文要顶】按钮【精神支持】,因为这两种支持都是我继续写作,分享的最大动力!
    作者:Super
    声明:原创博客请在转载时保留原文链接或者在文章开头加上本人博客地址,如发现错误,欢迎批评指正。凡是转载于本人的文章,不能设置打赏功能,如有特殊需求请与本人联系!

  • 相关阅读:
    超级小白使用pip安装第三方库的正确姿势
    selenium+python自动化测试--解决无法启动IE浏览器及报错问题
    microsoft edge浏览器安装驱动
    超详细MySQL安装及基本使用教程
    Navicat15最新版本破解 亲测可用!!!
    Ubuntu 16.04安装JMeter测试工具
    JMeter_Ubuntu上安装jmeter
    韩国vps推荐-kdatacenter
    全栈之js入门篇
    Web前端之CSS_day5
  • 原文地址:https://www.cnblogs.com/adawoo/p/8349598.html
Copyright © 2011-2022 走看看