當前位置:編程學習大全網 - 源碼下載 - 常見認證機制總結

常見認證機制總結

閱讀這篇文檔妳可以了解到壹些常見的認證方式及其優缺點,在實際場景中該如何去搭配各種認證方式?。?

了解 Authorization 前,需要先了解以下術語

認證是對身份的壹種確認過程;也可以說是身份有效性的確認;Are you who you say you are?

授權是指對行為或資源允許的過程;Are you allowed to do this action?

對應的是鑒權,是對行為或資源是否允許的確認過程

資源的擁有者,壹般都是用戶自己

資源的認證服務器,提供 Authorization Endpoint 及 Token endpoint

請求 authorization API

請求 access_token API

資源服務器,具體的 Service 上的 API

需要申請訪問資源的應用,可以是 APP、JS APP、Server 等

Access token 是由 Authorization Server 通過安全認證後,生成臨時用於訪問 Resource 的憑證;

JWT 就是壹種具體的實現方式.

可以標識身份;

也可以是 self-contain 認證權限信息;

壹般有效期較短;

用於 Resource Server 的請求中

可以參考 JWT ,

有個使用中的小問題,記錄下

Base64URL 與 Base64 算法

Base64 有三個字符+、/和=,在 URL 裏面有特殊含義,所以要被替換掉:=被省略、+替換成-,/替換成_ 。這就是 Base64URL 算法。JWT 會使用 Base64URL 編碼的,主要是考慮到壹般 jwt Token 會直接被放在 URL 上。

Refresh token 是由 Authorization Server 通過安全認證後,生成用於長時間內獲取 access_token 的憑證;

僅用於 Authorization Server 的請求中(不可傳輸給其他服務);

若 access_token expire 了,則使用 Refresh token 去 Authorization Server 重新獲取;

refresh token 可以管理 access token,防止 access_token 被多個 client 使用;

參考

參考

該方式在調用 API 前需要先在該 API Provider 那申請壹個(對)API key,如 APPID 和 APPSecret,在請求的過程中在 query 或 header 中加上這個(對)API key;其中 APPSecret 壹般都是在 Server-to-Server 的場景中使用,而 APPID 可通過終端 JS 傳遞到後端服務器,然後獲取內存中的 APPSecret,壹起放在 query 或 header 中轉發到 API 服務;

圖中因為僅考慮認證的機理。

優點:

這種認證模式的好處就是簡單且能識別 API 調用者的身份;

有 APPSecret,所以壹般都是在 Server-to-Server 的場景中使用;

該方式其實就是采用了 base64 對 username 及 password 進行混淆編碼後放在 header 中,形如

該方式比較簡單,但是如果在互聯網傳輸,那麽需要保證協議是 /oauth-2-simplified/

/support/knowledgecenter/zh/SSPREK_9.0.4/com.ibm.isam.doc/config/concept/oauth_pkce.html PKCE

/devg-apisign/api-sign-algorithm.html AK/SK

https://juejin.im/post/5c9ada58e51d453fea4a99bc

https://jwt.io/introduction/ JWT

https://tools.ietf.org/html/rfc7519 JWT

  • 上一篇:如何透過HTC Vive拍攝Mixed Reality 影片
  • 下一篇:蘋果手機裝的第三方軟件,信任完還是無法驗證,看到妳說刷源碼,需要怎麽弄,謝謝
  • copyright 2024編程學習大全網