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