# 获取 Token

访问令牌(Access Token)是调用数字人智能交互服务的凭证。本文介绍获取访问令牌的方法。

# 前提条件

已获取appKey和appId,可在创建的数字人会话管理中获取。

##操作步骤

1、通过appKey和appId生成签名。

2、使用签名作为调用h5 sdk的init方法的入参

# 签名生成

签名使用的是JWT机制,用户可以参照下述完成签名

# 参数说明

签名生成需要准备以下参数

名称 类型 描述 示例
appId string 会话标识,会话创建成功后获取 xxxxxxx
appKey string 会话密钥,会话创建成功后获取 xxxxxxx
sigExp Integer 签名有效时间,单位秒 1800

# 演示代码

签名的示例代码如下,Java版示例

引入pom依赖

<dependency>
    <groupId>com.auth0</groupId>
    <artifactId>java-jwt</artifactId>
    <version>3.8.3</version>
</dependency>
import com.auth0.jwt.JWT;
import com.auth0.jwt.algorithms.Algorithm;
import java.util.Calendar;
import java.util.Date;

public class SigUtils {
    /**
     * 创建签名
     *
     * @param appId  会话标识
     * @param appKey 会话密钥
     * @param sigExp 签名有效时间:单位秒
     * @return
     */
    public static String createSig(String appId, String appKey, int sigExp) {
        Calendar nowTime = Calendar.getInstance();
        nowTime.add(Calendar.SECOND, sigExp);
        Date expiresDate = nowTime.getTime();
        return JWT.create()
                //发行时间
                .withIssuedAt(new Date())
                //有效时间
                .withExpiresAt(expiresDate)
                //载荷
                .withClaim("appId", appId)
                //加密
                .sign(Algorithm.HMAC256(appKey));
    }
}

** 注意:此签名即H5 SDK的sign