1.在聯盟創建服務器應用
參考檔案:開發準備
2.獲取用戶級Access Token
2.1 獲取code
參考檔案:接入華為帳號獲取憑證
2.1.1 先按照跳轉鏈接進行配置url
https://oauth-login.cloud.huawei.com/oauth2/v3/authorize?
response_type=code&
access_type=offline&
state=state_parameter_passthrough_value&
client_id=APP ID&
redirect_uri=應用的回呼地址&
scope=openid+profile
介面的描述和引數如下表所示:

示例:創建測驗的App

傳入url: https://oauth-login.cloud.huawei.com/oauth2/v3/authorize?response_type=code&access_type=offline&client_id=107408391&scope=openid+profile&redirect_uri=https://www.thirdwebdemo.com/redirect_url
2.1.2 用戶登錄并授權

當請求跳轉到OAuth服務,OAuth服務會引導用戶進行授權,彈出授權頁面給用戶,顯示應用的名稱和圖示以及該應用所申請授權的scope權限串列,輸入華為帳號及密碼完成登錄授權,
2.1.3 OAuth服務將回應值通過回呼地址redirect_uri回呼給應用,
如果用戶同意授權,則回呼請求中帶有授權碼code,
https://www.thirdwebdemo.com/redirect_url?
code=<回傳的授權碼code>
如果用戶不同意授權,則回呼請求中包含錯誤訊息,
https://www.thirdwebdemo.com/redirect_url #error=1107&error_description=access+denied
2.2 通過code獲取Access Token
參考檔案:獲取憑證Access Token
Authorization Code只有5分鐘有效期,并且用完一次就會失效,請重新由用戶授權,生成Authorization Code,
2.2.1 介面說明


2.2.2 直接通過code獲取access_token、refresh_token
備注:通過2.1.3獲取的code需要UrlDecode后再使用

Postman請求示例:

請求示例:
POST /oauth2/v3/token HTTP/1.1
Host: oauth-login.cloud.huawei.com
Cache-Control: no-cache
Postman-Token: 923683a5-7379-03f5-b83f-072ba217fc65
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code&code=DwEEABlWuXdOMrHWphJ7ixKxqkMiTfdoFX11KIcY0CP8gL2Qq5b5MNZpGtPWHKK5KBHm6u6KDP1BXq8JRunU4xIz4DV2zbdGCzEPCbuRaDz%2FzgbzWV6ty2K1TcbToSEdDszr1to17JbGiI5yM7oUx5kEf200rCvVBEGWy8a%2BBCADZ8%2BWPAAEd2O%2BUnjqoAhDSjs2s3ate0heX3DFAUrtwIOcZLCK%2FWby%2BU2oD2eaXX0CXhBNY5PE0nzBLxr4%2B5%2BYH%2BFh8%2BSssOl3repWjH0bxni8iQ%3D%3D&client_id=107408391&client_secret=caa9b93ef209bcb8f754a5742b7d617d5db2bd5901ae8656b60e79cca93825f8&redirect_uri=https%3A%2F%2Fwww.thirdwebdemo.com%2Fredirect_url
2.2.3 通過refresh_token獲取access_token
code的有效期只有5分鐘,refresh_token的有效期半年,access_token的有效期1個小時,不建議每次都獲取code來換取access_token,可以直接保存refresh_token,再使用refresh_token換access_token的方式,

請求示例:
POST /oauth2/v3/token HTTP/1.1
Host: oauth-login.cloud.huawei.com
Cache-Control: no-cache
Postman-Token: 53d26c97-c7d8-3d49-042a-db7a4b2768a5
Content-Type: application/x-www-form-urlencoded
grant_type=refresh_token&client_id=107408391&client_secret=caa9b93ef209bcb8f754a5742b7d617d5db2bd5901ae8656b60e79cca93825f8&refresh_token=DAECANR5QD9Ta3YKIn2Pwpmq8g6CyOGcsz3iNsxq8YXBpZs6EGlqb%2FM8Iyc%2FXVORdoqb%2FaZXKs9jqz72kQCmp9Om%2B7%2Fp7ff6QfH%2FKN32GwsE9xq%2BTbDT
3 獲取應用級Access Token
參考檔案:客戶端模式(Client Credentials)

請求示例:
POST /oauth2/v3/token HTTP/1.1
Host: oauth-login.cloud.huawei.com
Cache-Control: no-cache
Postman-Token: 1e120cb0-fa6f-e622-1bf0-66a13c82b643
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials&client_id=107408391&client_secret=caa9b93ef209bcb8f754a5742b7d617d5db2bd5901ae8656b60e79cca93825f8
了解更多詳情>>
訪問華為開發者聯盟官網
獲取開發指導檔案
華為移動服務開源倉庫地址:GitHub、Gitee
關注我們,第一時間了解 HMS Core 最新技術資訊~
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/540833.html
標籤:Android
