三 Swagger驗證(全域性token)

2022-01-11 03:16:20 字數 3223 閱讀 2710

啟用驗證之後再看:多了個小按鈕

點開之後是如下介面:文字框裡要如輸入從伺服器獲取的token。格式為:bearer + 空格+token。 bearer可以看作是乙個預設的規則。

新增配置**

#region 啟用swagger驗證功能

//新增乙個必須的全域性安全資訊,和addsecuritydefinition方法指定的方案名稱一致即可,coreapi。

var security = new dictionary> }, };

options.addsecurityrequirement(security);

options.addsecuritydefinition(

"coreapi

", new

apikeyscheme

即可,注意兩者之間有空格",

name = "

authorization

",//

jwt預設的引數名稱

in = "

header

",//

jwt預設存放authorization資訊的位置(請求頭中)

type = "

apikey

"});

#endregion

整體部分為:

//

1、註冊服務swagger

services.addswaggergen(options =>);

//在 start.cs => configureservices 方法中的 addswaggergen 處增加 includexmlcomments 處理。

options.includexmlcomments(string.format("

/zanlvecore.xml",

#region 啟用swagger驗證功能

//新增乙個必須的全域性安全資訊,和addsecuritydefinition方法指定的方案名稱一致即可,coreapi。

var security = new dictionary> }, };

options.addsecurityrequirement(security);

options.addsecuritydefinition(

"coreapi

", new

apikeyscheme

即可,注意兩者之間有空格",

name = "

authorization

",//

jwt預設的引數名稱

in = "

header

",//

jwt預設存放authorization資訊的位置(請求頭中)

type = "

apikey

"});

#endregion

});

//

新增jwt驗證:

services.addauthentication(jwtbearerdefaults.authenticationscheme)

.addjwtbearer(options =>;

});

並在configure啟動

},  "

allowedhosts

": "*"

, "jwt":

}

返回401 身份驗證未通過

測試二:先訪問getjtoken介面獲取token,在訪問介面

後將獲取的token輸入到swagger的文字框中:bearer +空格+token

點選確認

//頒發者

issuer: _config["

jwt:issuer"],

//接收者

audience: _config["

jwt:audience"],

//新增claims

claims: claims,

//指定token的生命週期,過期時間

expires: datetime.now.addminutes(30

),

//簽名證書

signingcredentials: creds);

return

newjwtsecuritytokenhandler().writetoken(token);

}注意:必須指定token過期時間(即便你不驗證token的時間)不然,請求獲取的token是不會變的(固定值的token)

token驗證 Swagger中新增Token驗證

平常做專案使用mvc webapi,採取前後端分離的方式,後台提供api介面給前端開發人員。這個過程中遇到乙個問題後台開發人員怎麼提供介面說明文件給前端開發人員。為了解決這個問題,專案中引用swagger 我比較喜歡戲稱為 哥 列出所有api控制器和控制器描述 那麼既然是api,肯定涉及到安全驗證問...

Swagger中新增Token驗證

平常做專案使用mvc webapi,採取前後端分離的方式,後台提供api介面給前端開發人員。這個過程中遇到乙個問題後台開發人員怎麼提供介面說明文件給前端開發人員。為了解決這個問題,專案中引用swagger 我比較喜歡戲稱為 哥 列出所有api控制器和控制器描述 那麼既然是api,肯定涉及到安全驗證問...

Swagger 三 Swagger中常用的注釋

api 用在請求的類上,表示對類的說明 tags 說明該類的作用,可以在ui介面上看到的註解 description 描述 比如 api tags 第乙個controller層 description 用來測試資料 2.apioperation 用在請求的方法上,說明方法的用途 作用 value 說...