关于android:Web应用怎样获取Access-Token

53次阅读

共计 2617 个字符,预计需要花费 7 分钟才能阅读完成。

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.hua…

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 最新技术资讯~

正文完
 0