文档管理中心

基于OAuth 2.0开放鉴权

概述

OAuth 2.0是一个开放授权协议,它允许开发者应用在不获取用户名与密码的前提下,访问用户授权的资源(OAuth 2.0相关协议规范详情请参见OAuth 2.0官方网站)。

客户端模式(Client Credentials)

不需要用户进行授权,开发者应用可通过此模式生成一个鉴权凭证,访问华为公开应用级接口API。

具体接入流程步骤如下:

1:开发者服务器调用华为帐号服务器的接口(https://oauth-login.cloud.huawei.com/oauth2/v3/token)请求凭证Token。

2:华为帐号服务器返回应用级凭证Token(Access Token)。

请求消息

请通过POST方式调用,示例如下:

POST /oauth2/v3/token HTTP/1.1
Host: oauth-login.cloud.huawei.com
Content-Type: application/x-www-form-urlencoded
 
grant_type=client_credentials&client_id=<客户端ID>&client_secret=<客户端密钥>
展开

参数名称

必选(M)/可选(O)

参数说明

grant_type

M

填写为“client_credentials”,表示为客户端模式。

client_id

M

对于AppGallery Connect类应用,该值为应用中OAuth 2.0客户端ID(凭据)的Client ID

client_secret

M

对于AppGallery Connect类应用,该值为应用中OAuth 2.0客户端ID(凭据)的Client Secret

响应消息

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Cache-Control: no-store

{
    "access_token": "<返回的Access Token>",
    "expires_in": 3600,
    "token_type": "Bearer"
}
展开

参数名称

必选(M)/可选(O)

参数说明

access_token

M

应用级Access Token。

expires_in

M

Access Token的剩余有效期,单位:秒。

token_type

M

固定返回Bearer,标识返回Access Token的类型。

说明
  • 开发者应用在Access Token有效期(expires_in)内可以多次使用,请勿过于频繁请求,否则可能会被流控(当前应用级Access Token的流控阈值为1000个/5分钟,5分钟内申请Access Token超过1000个,后续将提示被流控,无法申请。5分钟后重置,可以再次申请)。
  • 各个鉴权模式获得到的Access Token,如果是通过curl命令或者Postman等工具手工获取,需注意JSON字符串中的转义符,请把“\/”还原为“/”,替换后才是正确的Access Token。如果是从代码运行获取,则采用任意的第三方库均能正确解析JSON串,获取到正确的Access Token。
  • 其他错误码请参见错误与异常机制

至此,开发者应用已经完成客户端模式(Client Credentials)的接入,开发者应用可凭借此鉴权凭证访问华为公开的应用级接口API。

搜索
请输入您想要搜索的关键词