因為http協議是開放的,可以任人呼叫。所以,如果介面不希望被隨意呼叫,就需要做訪問許可權的控制,認證是好的使用者,才允許呼叫api。
目前主流的訪問許可權控制/認證模式有以下幾種:
1),bearer token(token 令牌)
定義:為了驗證使用者的身份,需要客戶端向伺服器端提供乙個可靠的驗證資訊,稱為token,這個token通常由json資料格式組成,通過hash雜湊演算法生成乙個字串,所以稱為json web token(json表示令牌的原始值是乙個json格式的資料,web表示是在網際網路傳播的,token表示令牌,簡稱jwt)
jwt分為三部分:
第一部分:頭部
"typ" : "jwt", (typ:型別)
"alg" : "hs256" (alg:演算法,hs256表示雜湊演算法的mac值。sha256/hmacsha256,sha256表示直接加密,hmacsha256表示用秘鑰進行加密。sha(secure[sɪˈkjʊə(r)] hash algorithm [ˈælgərɪðəm],安全雜湊演算法)
hmac(hash message authentication [ɔ:ˌθentɪ'keɪʃn] code,雜湊訊息鑑別碼))
第二部分(claim正文部分)
"iss" : "joe",(issuer,發布者)
"exp": 1300819380,(expiration[ˌekspəˈreɪʃn] time 過期時間,毫秒數計算)
"" :true(主題)
第三部分:簽名(將上面的兩個部分組合在一起+本地資訊做的乙個的簽名(頭部在前)
網路解釋:簽名是把header和payload(載荷)對應的json結構進行base64url編碼之後得到的兩個串,用英文句點號拼接起來,然後根據header裡面alg指定的簽名演算法生成出來的。
1,令牌的好處:避免在使用中不斷的輸入賬號和密碼,比較安全
2,如果要測試帶token的介面,首先要進行登入,登入成功會有個token資訊,向api介面傳送請求的時候必須帶上這個token,故需要做2次請求(1,登入,拿到token 2,正式對介面進行測試)
這個時候頭部會多乙個authorization
authorization可能在頭部,也可能直接跟在請求行裡面
要麼是用post請求,然後放在引數裡面
3,注意點:
1),token一般有時間限制。測試前需要跟開發確認token可以用多久,什麼時候算token失效
2),token放在哪兒,怎麼傳回去,需要有開發文件,或者諮詢開發,登入成功返回的token需要了解從什麼地方獲取(可以通過錄製進行檢視)
wifidog認證介面
wifidog認證介面 sgwyj515 wifidog是搭建無線熱 點認證系統的解決方案之一,他比nocat更適合網際網路營銷思路。目前支援openwrt系統,他實現了路由器和認證伺服器的資料互動,在路由器方是用c 語言 通過wifidog程式和linux iptables防火牆實現接入使用者的認...
HTTP認證方式
http請求報頭 authorization http響應報頭 www authenticate http認證 基於 質詢 回應 challenge response 的認證模式。基本認證 basic authentication http1.0提出的認證方法 客戶端對於每乙個realm,通過提供使...
802 11認證方式
認證方式 1 開放系統認證 使用明文傳輸 兩個步驟 a.sta傳送乙個認證請求管理幀,認證演算法欄位為0 表示開放系統認證 認證處理系列號欄位為1 b.ap返回認證響應,響應幀中的認證處理系列號字段值為2 該認證方式,任何sta都能通過認證,沒有任何安全保證 2.共享金鑰認證 4次握手 3.802....