PHP

Api學習筆記——oAuth第三方驗證

Api學習筆記–關於oAuth2.0


使用者運行流程

(A)使用者打開客戶端以後,客戶端要求使用者給予授權。

(B)使用者同意給予客戶端授權。

(C)客戶端使用上一步獲得的授權,向認證伺服器申請令牌。

(D)認證伺服器對客戶端進行認證以後,確認無誤,同意發放令牌。

(E)客戶端使用令牌,向資源伺服器申請獲取資源。

(F)資源伺服器確認令牌無誤,同意向客戶端開放資源。

客戶端授權

客戶端必須得到使用者的授權(authorization grant),才能獲得令牌(access token)。OAuth 2.0定義了四種授權方式。

  • 授權碼模式(authorization code)
  • 簡化模式(implicit)
  • 密碼模式(resource owner password credentials)
  • 客戶端模式(client credentials)

授權碼模式

(A)使用者訪問客戶端,後者將前者導向認證伺服器。

(B)使用者選擇是否給予客戶端授權。

(C)假設使用者給予授權,認證伺服器將使用者導向客戶端事先指定的"重定向URI"(redirection URI),同時附上一個授權碼。

(D)客戶端收到授權碼,附上早先的"重定向URI",向認證伺服器申請令牌。這一步是在客戶端的後台的伺服器上完成的,對使用者不可見。

(E)認證伺服器核對了授權碼和重定向URI,確認無誤後,向客戶端發送訪問令牌(access token)和更新令牌(refresh token)。

接下來讓我做個微信的小測試

微信公眾平台測試賬號

修改網域並關注自己的測試公眾號

獲取接口權限 修改回調頁面為自己的網域


微信開發者工具調用微信使用者接口

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect 拉起微信接口返回回調頁面 顯示授權

  • APPID 測試賬號中的appID,填寫自己賬號的 appID
  • REDIRECT_URI 使用者同意授權後的回調地址,填寫 http://回調地址
  • SCOPE 應用授權作用域,填寫 snsapi_userinfo
  • STATE 隨機參數,可以不填,我們保持 STATE 即可。

授權 向認證伺服器申請授權碼並且返回授權碼

  • code 為授權碼

申請令牌 客戶端向認證伺服器申請令牌並返回令牌access_token和openid

用令牌和id去調用資源伺服器的使用者信息

這就是我對此的理解,請各位大佬指教

推薦文章:http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html

Recent Posts

Flexible Shipping Pro

在WordPress的世界裡,…

6天 ago

2023 年 WordPress 中最棒的多語言翻譯外掛推薦

擔心如何翻譯您的網站語言以支持…

1年 ago

2023 年 WordPress 中最棒的可視化頁面構建器外掛推薦

在設計任何頁面或網站時,對於不…

1年 ago

Ella 多用途 Shopify 佈景主題

Shopify 佈景主題市場上有許…

1年 ago

AI Engine Pro

喵容今天帶來的 AI Engi…

1年 ago

AIKit

喵容今天為您帶來 AIKit …

1年 ago