目录

接口功能

该接口用于开发者服务器根据用户的accessToken从华为服务器查询accessToken的过期时间,获取用户的unionId、openId等。

调用场景

当应用调用signIn接口完成华为帐号登录授权后,应用客户端获取到用户的accessToken并传递给应用服务端。当涉及以下场景时,应用服务端可以根据accessToken调用本接口:
● 应用服务端需要验证accessToken的过期时间。
● 应用对于用户标识安全性要求较高,需要在应用服务端保存用户标识,需要应用服务器自行从华为服务器获取用户的openId、unionId。

接口原型

承载协议HTTPS POST
接口方向开发者服务器->华为服务器
接口URLhttps://api.cloud.huawei.com/rest.php?nsp_fmt=JSON&nsp_svc=huawei.oauth2.user.getTokenInfo
数据格式请求:Content-Type:  application/x-www-form-urlencoded
响应:Content-Type:  text/plain

请求参数

参数名称必选(M)/可选(O)类型参数说明
open_idMstring如果需要获取用户的openId,当前必须传入固定值“OPENID”。
access_tokenMstring用户的accessToken,调用signIn接口时返回给应用客户端。

返回参数

参数名称必选(M)/可选(O)类型参数含义
union_idOstring如果应用启用了UnionId,此参数返回用户的unionId,有关unionId的详细描述请参见signIn接口的unionId参数。
scopeOstring用户授权地址列表。有多个授权地址时以空格符分隔。
open_idOstring如果请求参数open_id配置为“OPENID”,则此参数将返回用户的openId标识,否则不返回该参数。
expire_inMint用户accessToken的过期时间,以秒为单位。
client_idMstring应用ID,在创建应用后为应用分配的唯一标识。

返回码

返回码在响应消息头部的NSP_STATUS字段,错误描述为JSON格式。

错误码错误描述错误原因
102{"error":"invalid  session"}accessToken格式不合法,如没有urlencode。
6{"error":"session  timeout"}acessToken过期。

调用示例

类型样例
请求消息样例POST
https://api.cloud.huawei.com/rest.php?nsp_fmt=JSON&nsp_svc=huawei.oauth2.user.getTokenInfo
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip
Content-Length: 131
Connection: Keep-Alive
open_id=OPENID&access_token=CFsCPrF8B4prsK2yYenj6l9VvmYB%2F7LvM%2FayXt%2BSOiwzmSIWu%2FqHComneixAl3tBVONd6IGvbObDpaAWivA5%2Fg%3D%3D
返回消息样例HTTP/1.1 200 OK
Pragma: no-cache
Cache-Control: no-store
Expires: Thu, 01 Jan 1970 00:00:00 GMT
DGW.id: 0-254b599c-78b7-4bea-996e-b0e3752e3928-139
Content-Type: text/plain; charset=UTF-8
Transfer-Encoding: chunked
{
"union_id":"MDFCMZtjzibdDT5rylM06p9azTbSbiaQFPjX6A3Lp2vPolYw",
"scope":"https://www.huawei.com/health/health.bp.readonly  https://www.huawei.com/health/motionpath",
"open_id":"MDFAMzAwMDE3NDczQGZmZjYzM2FhOWYxOTYwNzgyYmQ1YWMxZjAyMjQxNjVhQDc4NDNmNTRiaNmFmODZmYWQ2YzgyZjEzNTRiaOTNmMmUxYTE4YzYyMjMwNmMyNzY0YWFhN2RlZTQ0",
"expire_in":3600,
"client_id":"300017473"
}