回覆列表
  • 1 # 熙爸愛釣魚

    沒做過webapi,不過經常對接一些雲端介面。簡單說一下token的作用。

    1,token並不是用來加密的。傳輸的資料和token並沒有什麼直接關係。

    2,token一般用來做訪問控制。如只允許授權的呼叫,如介面只開放給有許可權的應用。或者登入回話控制等。

    token的生成一般會考慮這些因素:

    1,授權資訊,比如雲端介面常用的appkey之類的,

    2,使用者的登入會話資訊。

    3,環境資訊,如使用者ip地址等。

    token的校驗一般也不是加密後解密對比,而是單向加密(如各種摘要演算法)。

    例如A要給B要核對一個敏感資料,A並不把資料直接發給B,而是將計算出資料的摘要發給B,B再做一次相同的計算,比較結果就可以知道是否一致。

  • 2 # 網路圈

    對於剛接觸程式設計的同學而言,API與WebAPI、Token這些概念可能分辨不清,下面我們先來了解一下。

    API與WebAPI是啥?

    1、API指的是介面

    API它就是介面,可以理解為是將某種服務封裝起來提供給他人呼叫,呼叫者不需要了解此功能是如何實現的,只要傳遞一些引數就能實現特定功能,十分方便。

    API的表現形式有很多種,比如常見的有:RPC介面、基於HTTP協議的介面(WebAPI)、Web Service介面等。

    2、WebAPI

    WebAPI其實就是基於HTTP協議的API,像我們說的RESTful其實就是WebAPI。我們可以藉助程式語言(如:Java、.NET)來開發WebAPI。WebAPI是輕量、簡單的。

    Token是什麼?

    Token是指令牌,它代表的安全認證機制,客戶端瀏覽器請求伺服器時會將Token以GET傳參或者Header請求頭的方式傳遞至伺服器端,伺服器端會判斷此Token的合法性,若合法則允許訪問資源,反之拒絕。

    Token 一般是包含公鑰,私鑰,時間,隨機碼等元素透過MD5,SHA等加密技術由伺服器端加密而成的密文,然後返回給客戶端進行臨時儲存。鑑於WebAPI 有多種請求方式,比如GET,POST,DELETE,PUT,而Token的驗證是通用驗證,建議儲存在Header頭部,使用者將Token放在請求頭部,WebAPI獲得Token後根據服務端的Token資訊做驗證,如果驗證成功,則提供相應的資源資料,否則禁止訪問,如圖所示:

    Token的特性

    1、Token是簡單的、無狀態的,特別適合在分散式環境下使用;

    2、Token由伺服器端生成和校驗,在客戶端臨時儲存;

    3、客戶端獲取伺服器端返回的Token之後,後續請求都要把Token傳遞給伺服器端進行校驗,伺服器每次都要解析Token;

    4、Token是有過期時間的,若Token失效,則重定向至授權頁進行使用者身份校驗,校驗成功後重新發放Token給客戶端。

  • 中秋節和大豐收的關聯?
  • 6月23日,羅勃-金貝爾建議火箭拉入綠凱做第三方跟費城交易引巴特勒,你怎麼看?