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

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

資源介紹參數
資源類別: PHP
如遇問題: 聯繫客服/留言反饋
釋放雙眼,帶上耳機,聽聽看~!

Api學習筆記–關於oAuth2.0

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

使用者運行流程

(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)。

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

微信公眾平台測試賬號

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

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

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

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

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

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

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

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

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

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

  • code 為授權碼

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

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

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

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

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

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

聲明:本文為原創作品,版權歸作者所有。未經許可,不得轉載或用於任何商業用途。如若本站內容侵犯了原著者的合法權益,可聯繫我們進行處理。

給TA打賞
共{{data.count}}人
人已打賞
0 條回復 A文章作者 M管理員
    暫無討論,說說你的看法吧