获取 Access Token


​通过应用的 AccessKey 和 SecretKey 获取 Access Token。


Access Token 与 AccessKey 对应。通常,一个 AccessKey 对应一个 Access Token,即,如果已经生成了一个 Access Token,再次调用获取 Access Token 接口后,依然会返回已经生成的 Access Token。

前提条件

登录 EnOS 管理控制台,通过应用注册,获取应用的 AccessKey 和 SecretKey,作为接口中 appKeyappSecret 参数的值,用于调用置换服务的外部接口,获取 Access Token。

请求格式

EnOS Cloud API

POST https://{apigw-address}/apim-token-service/v2.0/token/get

EnOS Edge API

POST http://{apigw-address}/apim-token-service/v2.0/token/get

请求参数(Body)

名称

必需/可选

数据类型

描述

appKey

必需

String

应用的 AccessKey。

encryption

必需

String

加密密文,参考 加密密文生成规则>>

timestamp

必需

Long

当前系统的时间戳,UNIX 时间,精确到毫秒,例如:1572574909697。

加密密文生成规则

  1. 依次拼接 appKeytimestampappSecret 的值,生成一个待加密串。

  2. 使用 SHA256 算法加密待加密串生成预密文。

  3. 将预密文转换成小写字母,生成加密密文。伪代码如下:

    sha256(appKey+timestamp+appSecret).toLowerCase();
    

响应参数

名称

数据类型

描述

status

Integer

状态码,0表示成功。

msg

String

提示信息。

business

String

业务参数:

  • EnOS Cloud API:apim-token-service

  • EnOS Cloud API:edge-iam

data

data结构体

生成的 Access Token 及有效时间。

data结构体

名称

数据类型

描述

accessToken

String

Access Token 值。

expire

Integer

Access Token 的过期时间,单位为秒,初始值为7200秒(即2小时)。

示例

请求示例

url: https://{apigw-address}/apim-token-service/v2.0/token/get

method: POST

requestBody:
{
    "appKey": "5acb82e7-a11e-4300-9164-c8b20b638e8b",
    "encryption": "87c6885cec7525e2f219f86a82b280cc8c2d6ff4040a4b5f8acf9aeeda37aba8",
    "timestamp": 1572574909697
}

响应示例

{
    "status": 0,
    "msg": "SUCCESS",
    "business": "apim-token-service",
    "data": {
        "accessToken": "Generated_Access_Token",
        "expire": 7200
    }
}