接口認證方式:Bearer Token

由於HTTP協議是開放的,能夠任人調用。因此,若是接口不但願被隨意調用,就須要作訪問權限的控制,認證是好的用戶,才容許調用API。html

目前主流的訪問權限控制/認證模式有如下幾種:web

1),Bearer Token(Token 令牌)算法

定義:爲了驗證使用者的身份,須要客戶端向服務器端提供一個可靠的驗證信息,稱爲Token,這個token一般由Json數據格式組成,經過hash散列算法生成一個字符串,因此稱爲Json Web Token(Json表示令牌的原始值是一個Json格式的數據,web表示是在互聯網傳播的,token表示令牌,簡稱JWT)json

JWT分爲三部分:api

第一部分:頭部安全

{服務器

"typ" : "JWT",    (typ:類型)網絡

"alg" : "HS256" (alg:算法,HS256表示哈希算法的mac值。SHA256/HmacSHA256,SHA256表示直接加密,HmacSHA256表示用祕鑰進行加密。SHA(Secure[sɪˈkjʊə(r)]  Hash Algorithm [ˈælgərɪðəm],安全散列算法)post

HMAC(Hash Message Authentication [ɔ:ˌθentɪ'keɪʃn] Code,散列消息鑑別碼))測試

}

 

 
 
 
 

第二部分(Claim正文部分)

{

"iss" : "joe",(issuer,發佈者)

"exp": 1300819380,(expiration[ˌekspəˈreɪʃn]  time 過時時間,毫秒數計算)

"http://example.com/is_root" :true(主題)

}

第三部分:簽名(將上面的兩個部分組合在一塊兒+本地信息作的一個的簽名(頭部在前)

網絡解釋:簽名是把header和payload(載荷)對應的json結構進行base64url編碼以後獲得的兩個串,用英文句點號拼接起來,而後根據header裏面alg指定的簽名算法生成出來的。

https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-19

1,令牌的好處:避免在使用中不斷的輸入帳號和密碼,比較安全

2,若是要測試帶token的接口,首先要進行登陸,登陸成功會有個token信息,向api接口發送請求的時候必須帶上這個token,故須要作2次請求(1,登陸,拿到token 2,正式對接口進行測試)

 

 
 

這個時候頭部會多一個authorization

 

 
 

authorization可能在頭部,也可能直接跟在請求行裏面

http://www.xxx.com/ada?token=xxxxx

要麼是用post請求,而後放在參數裏面

 

 
 

3,注意點

1),token通常有時間限制。測試前須要跟開發確認token能夠用多久,何時算token失效

2),token放在哪兒,怎麼傳回去,須要有開發文檔,或者諮詢開發,登陸成功返回的token須要瞭解從什麼地方獲取(能夠經過錄制進行查看)

做者:好多可樂 連接:https://www.jianshu.com/p/8f7009456abc 來源:簡書 簡書著做權歸做者全部,任何形式的轉載都請聯繫做者得到受權並註明出處。
相關文章
相關標籤/搜索