合肥免費(fèi)做網(wǎng)站seo優(yōu)化專(zhuān)員工作內(nèi)容
現(xiàn)在許多項(xiàng)目都使用jwt來(lái)實(shí)現(xiàn)用戶(hù)登錄和數(shù)據(jù)權(quán)限,校驗(yàn)過(guò)用戶(hù)的用戶(hù)名和密碼后,會(huì)向用戶(hù)響應(yīng)一段經(jīng)過(guò)加密的token,在這段token中可能儲(chǔ)存了數(shù)據(jù)權(quán)限等,在后期的訪(fǎng)問(wèn)中,需要攜帶這段token,后臺(tái)解析這段token才允許用戶(hù)訪(fǎng)問(wèn)接口。
01、設(shè)置Bearer Token
如果后端項(xiàng)目使用的是Bearer Token進(jìn)行安全認(rèn)證,那么使用Postman這樣操作。
設(shè)置你的環(huán)境變量
點(diǎn)擊右上角的小眼睛,然后點(diǎn)擊Add,添加
填寫(xiě)你的環(huán)境名和你的變量名
選擇你新建的環(huán)境
項(xiàng)目集合設(shè)置認(rèn)證方式及環(huán)境變量
登錄接口的腳本
這個(gè)腳本的意思就是說(shuō),你的用戶(hù)名和密碼正確的前提下,訪(fǎng)問(wèn)后端接口會(huì)給你返回一個(gè)Token,你將這個(gè)Token儲(chǔ)存在剛剛設(shè)置好的環(huán)境變量中,當(dāng)你用別的接口訪(fǎng)問(wèn)時(shí),由于整個(gè)項(xiàng)目剛剛已經(jīng)設(shè)置好了訪(fǎng)問(wèn)權(quán)限使用的Token,所以你所有的接口都會(huì)攜帶這個(gè)token去訪(fǎng)問(wèn),從而數(shù)據(jù)權(quán)限被后臺(tái)接收和使用
// pm代表的就是postman,使用js編寫(xiě)腳本即可
const responseJson = pm.response.json();
console.log('-----------',responseJson)
const accesssToken = responseJson.result
if('200'==responseJson.code){
? ? pm.environment.set('accessToken',accesssToken)
}
02、通過(guò)腳本設(shè)置Headers
Spring Security的在訪(fǎng)問(wèn)時(shí)會(huì)向請(qǐng)求頭添加一個(gè)accessToken,可以使用腳本在集合批量添加,也可以對(duì)每一個(gè)Api手動(dòng)添加Header,不過(guò)那樣會(huì)很麻煩,所以我這邊用腳本批量添加的方便方式。
登錄請(qǐng)求設(shè)置環(huán)境變量
從登錄結(jié)果獲取accessToken,將accessToken設(shè)置到環(huán)境變量中
腳本如下
const responseJson = pm.response.json();
console.log('-----------',responseJson)
const accesssToken = responseJson.result
if('200'==responseJson.code){
? ? pm.environment.set('accessToken',accesssToken)
}
設(shè)置集合的發(fā)送請(qǐng)求腳本
點(diǎn)選集合->進(jìn)入Pre-request Scrip(請(qǐng)求前腳本)頁(yè)簽->編寫(xiě)腳本
腳本如下
console.log("----addHeader------", pm.environment.get("accessToken"));
var accessToken = pm.environment.get("accessToken");
// 所有請(qǐng)求在請(qǐng)求前都在請(qǐng)求頭中設(shè)置accessToken
pm.request.addHeader("accessToken:"+accessToken);
這樣設(shè)置后,所有的請(qǐng)求都會(huì)攜帶登錄的accessToken了。
登錄接口抹除accessToken
因?yàn)槲覀冺?xiàng)目的過(guò)濾器沒(méi)有設(shè)置解析accessToken的臟數(shù)據(jù),所以一旦有老的token,就會(huì)報(bào)錯(cuò)超時(shí),所以登錄接口在訪(fǎng)問(wèn)時(shí)一定要抹除accessToken,登錄接口的Pre-request設(shè)置腳本如下:
// 移除登錄接口的accessToken, 防止過(guò)期的token被過(guò)濾器解析,影響登錄接口
pm.request.headers.remove("accessToken")
最后感謝每一個(gè)認(rèn)真閱讀我文章的人,禮尚往來(lái)總是要有的,雖然不是什么很值錢(qián)的東西,如果你用得到的話(huà)可以直接拿走:
軟件測(cè)試面試小程序
被百萬(wàn)人刷爆的軟件測(cè)試題庫(kù)!!!誰(shuí)用誰(shuí)知道!!!全網(wǎng)最全面試刷題小程序,手機(jī)就可以刷題,地鐵上公交上,卷起來(lái)!
涵蓋以下這些面試題板塊:
1、軟件測(cè)試基礎(chǔ)理論 ,2、web,app,接口功能測(cè)試 ,3、網(wǎng)絡(luò) ,4、數(shù)據(jù)庫(kù)?,5、linux
6、web,app,接口自動(dòng)化 ,7、性能測(cè)試?,8、編程基礎(chǔ),9、hr面試題 ,10、開(kāi)放性測(cè)試題,11、安全測(cè)試,12、計(jì)算機(jī)基礎(chǔ)
這些資料,對(duì)于【軟件測(cè)試】的朋友來(lái)說(shuō)應(yīng)該是最全面最完整的備戰(zhàn)倉(cāng)庫(kù),這個(gè)倉(cāng)庫(kù)也陪伴上萬(wàn)個(gè)測(cè)試工程師們走過(guò)最艱難的路程,希望也能幫助到你!??