OAuth 2.0-簡單流程

最近查了一下OAuth 2.0的流程,簡單總結了一下。
詳細參照: OAuth 2.0.

簡單流程圖

在這裏插入圖片描述

說明

  1. 用戶訪問網站A;“h ttp://XXXXXX.com”

  2. 登陸用戶時,用戶選擇 使用github賬號 登陸,網站A連接github網站,協商取得情報;

  3. github將情報 Client Id + Client Secret 返回給網站A

  4. 網站A將 Client Id 連攜給用戶

  5. 用戶使用 Client Id 連接到github,進行確認授權
    例;

    // 用戶登錄 github,協商
    GET //github.com/login/oauth/authorize
    // 協商憑證
    params = {
    client_id: “xxxx”,
    redirect_uri: “h ttp://XXXXXX.com”
    }

  6. 用戶在github的確認授權畫面,同意授權後,github將生成code信息連攜給網站A,並通過 redirect_uri 的設定值,跳轉到網站A

    // 協商成功後帶着蓋了章的 code
    Location: h ttp://XXXXXX.com?code=xxx

  7. 網站A拿着code和最開始拿到的Client Secret,訪問github獲得最終的通行證

    // 網站和 github 之間的協商
    POST //github.com/login/oauth/access_token
    // 協商憑證包括 github 給用戶蓋的章和 github 發給我的門票
    params = {
    code: “xxx”,
    client_id: “xxx”,
    client_secret: “xxx”,
    redirect_uri: “h ttp://XXXXXX.com”
    }

  8. 返回 access_token

    // 拿到最後的綠卡
    response = {
    access_token: “e72e16c7e42f292c6912e7710c838347ae178b4a”
    scope: “user,gist”
    token_type: “bearer”,
    refresh_token: “xxxx”
    }

  9. 如果使用有效期限的話,當token過期的話,還需要Refresh Token。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章