日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Web應用登錄阿里云

本文介紹Web應用如何通過OAuth 2.0扮演登錄用戶訪問阿里云API。

前提條件

  • Web應用扮演登錄用戶訪問阿里云首先需要創建應用,為應用提供恰當的名稱、OAuth范圍、回調地址等關鍵信息,詳情請參見創建應用。應用創建成功后,您可以在應用列表中查看應用ID(client_id),如下圖所示。應用ID

    說明

    應用創建成功之后,可以在阿里云賬號內直接扮演用戶。如果要扮演其他阿里云賬號的用戶,需要獲得其他阿里云賬號的授權。

  • 創建應用密鑰,詳情請參見創建應用密鑰。應用密鑰(client_secret)只在創建時顯示,不支持查詢,請妥善保管。

基本流程

基本流程
  1. 用戶通過瀏覽器登錄Web應用。

  2. Web應用重定向到阿里云OAuth 2.0服務并將URL返回給瀏覽器。

    說明

    如果用戶還未登錄,則會進一步重定向到阿里云登錄服務。

  3. 用戶通過瀏覽器登錄阿里云OAuth 2.0服務并申請授權碼。

  4. 阿里云OAuth 2.0服務重定向到Web應用并返回授權碼給瀏覽器。

  5. 瀏覽器通過Web應用使用授權碼向阿里云OAuth 2.0服務申請代表用戶身份的令牌。

  6. 阿里云OAuth 2.0服務向Web應用返回訪問令牌(access_token)。

  7. Web應用通過獲取的訪問令牌(access_token)向阿里云發起訪問API的請求。

    說明

    由于訪問令牌(access_token)可以代表用戶身份,因此應用可以訪問當前用戶的資源。

獲取訪問令牌

  1. Web應用通過瀏覽器將用戶重定向到阿里云OAuth 2.0服務從而獲取授權碼。

    授權碼的請求地址:https://signin.aliyun.com/oauth2/v1/auth

    表 1. 請求參數

    參數名稱

    是否必選

    描述

    client_id

    應用ID。

    redirect_uri

    創建應用時填寫的重定向URL之一。

    response_type

    返回類型。根據OAuth 2.0協議,目前支持設置此參數的取值為code。

    scope

    空格分隔的OAuth范圍列表。如不指定此參數取值,則默認為應用的全部OAuth范圍。

    access_type

    應用的訪問類型。取值分為兩種類型:

    • online:應用不需要離線刷新訪問令牌。

    • offline:針對離線訪問類型的請求,會發放刷新令牌,應用可以根據需求持續刷新訪問令牌。

    默認取值為online

    state

    應用通過state 參數實現多種目的,例如:狀態保持、作為nonce使用從而減少CSRF威脅等。state如果設置為任意字符串,阿里云OAuth2.0服務會將請求中的state參數及取值原樣放到返回參數中以供后續使用。

    prompt

    該參數用于指定服務器是否需要提示用戶進行授權操作。

    如果指定,會強制要求用戶進行授權,即使該阿里云賬號已經做過授權,也需要重新授權。如果不指定,則只在該阿里云賬號第一次使用該應用時要求授權。

    取值:admin_consent,表示服務端會在向客戶端返回信息之前展示授權頁面。

    請求示例

    https://signin.aliyun.com/oauth2/v1/auth?
    client_id=123****&
    redirect_uri=https://example.com/authcallback/&
    response_type=code&
    scope=openid /acs/ccc&
    access_type=offline&
    state=123456****

    返回示例

    GET HTTP/1.1 302 Found
    Location: https://example.com/authcallback/?code=ABAFDGDFXYZW888&state=123456****
  2. Web應用使用授權碼向阿里云OAuth 2.0服務申請代表用戶身份的令牌。

    換取訪問令牌的請求地址:https://oauth.aliyun.com/v1/token

    表 2. 請求參數

    參數名稱

    是否必選

    描述

    code

    初始請求中獲取的授權碼。

    client_id

    應用ID。

    redirect_uri

    初始請求中設置的參數。

    grant_type

    根據OAuth 2.0協議, 取值為authorization_code

    client_secret

    應用密鑰,用作換取訪問令牌時鑒定應用身份的密碼。

    請求示例

    POST /v1/token HTTP/1.1
    Host: oauth.aliyun.com
    Content-Type: application/x-www-form-urlencoded
    code=ABAFDGDFXYZW888&
    client_id=123****&
    client_secret=`your_client_secret`&
    redirect_uri=https://example.com/authcallback/&
    grant_type=authorization_code
    表 3. 返回參數

    參數名稱

    描述

    access_token

    訪問令牌。

    訪問令牌可以代表用戶身份,應用使用此訪問令牌來訪問阿里云API。應用不需要理解訪問令牌的含義,直接使用即可。

    expires_in

    訪問令牌的剩余有效時間,單位為秒。

    token_type

    訪問令牌的類型。取值為Bearer

    id_token

    身份令牌。

    身份令牌為OAuth簽名的JWT(JSON Web Token)。如果初始請求的scope參數包含了openid,則返回身份令牌。

    refresh_token

    刷新令牌。

    如果初始請求時應用的訪問類型為offline,則返回刷新令牌。

    scope

    獲取的授權碼的實際授權范圍。

    如果應用需要的授權范圍不止openid,那么您需要校驗獲取的scope是否符合預期。

    如果您安裝的應用未授權指定的scope,請您重新授權。重新授權的方法:通過https://signin.aliyun.com/oauth2/v1/auth請求授權碼時,設置參數prompt=admin_consent

    返回示例

    {
      "access_token": "eyJraWQiOiJrMTIzNCIsImVu****",
      "token_type": "Bearer",
      "expires_in": "3600",
      "refresh_token": "Ccx63VVeTn2dxV7ovXXfLtAqLLERA****",
      "id_token": "eyJhbGciOiJIUzI1****",
      "scope": "openid /acs/ccc"
    }

獲取新的訪問令牌

換取訪問令牌的請求地址:https://oauth.aliyun.com/v1/token

表 4. 請求參數

參數名稱

是否必選

描述

refresh_token

用授權碼換取訪問令牌時獲得的刷新令牌。

client_id

應用ID。

grant_type

根據OAuth 2.0協議, 取值為refresh_token

client_secret

應用密鑰,用作換取訪問令牌時鑒定應用身份的密碼。

請求示例

POST /v1/token HTTP/1.1
Host: oauth.aliyun.com
Content-Type: application/x-www-form-urlencoded
refresh_token=Ccx63VVeTn2dxV7ovXXfLtAqLLERAH1Bc&
client_id=123****&
client_secret=`your_client_secret`&
grant_type=refresh_token
表 5. 返回參數

參數名稱

描述

access_token

新的訪問令牌。應用可以使用新的訪問令牌來訪問阿里云API。

expires_in

訪問令牌的剩余有效時間,單位為秒。

token_type

訪問令牌的類型。取值為Bearer

返回示例

{
  "access_token": "eyJraWQiOiJrMTIzNCIsImVu****",
  "token_type": "Bearer",
  "expires_in": "3600"
}

撤銷刷新令牌

Web應用獲取了刷新令牌后,在用戶退出登錄應用或用戶將自己的賬號從應用中移除時,必須撤銷刷新令牌。

撤銷刷新令牌的請求地址:https://oauth.aliyun.com/v1/revoke

表 6. 請求參數

參數名稱

是否必選

描述

token

需要撤銷的刷新令牌。

client_id

應用ID。

client_secret

應用密鑰。