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”按鈕。之后再調用需要權限驗證的接口就可以正常調用了

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM