开发者社区 问答 正文

阿里云语音AIGO 的 demo代码把 获取token的也封装在SDK里面了么?

阿里云语音AIGO 的 demo代码把 获取token的也封装在SDK里面了么?
iwEcAqNwbmcDAQTRBRwF0QMmBrAcHqGgCudTLwU1bcTbQLQAB9IAoX7VCAAJomltCgAL0gACxt8.png_720x720q90.jpg

展开
收起
青城山下庄文杰 2023-11-06 18:20:28 71 分享 版权
阿里云 AI 助理回答

是的,阿里云语音AIGO的SDK确实将获取Token的逻辑封装在了SDK内部,从而简化了开发流程并提升了安全性。以下是详细说明:

1. 通过智能语音交互SDK获取Token

智能语音交互SDK提供了直接获取Token的功能,用户无需手动处理复杂的认证逻辑和Token有效期管理。具体实现方式如下: - Java 示例

AccessToken accessToken = new AccessToken(System.getenv().get("ALIYUN_AK_ID"), System.getenv().get("ALIYUN_AK_SECRET"));
accessToken.apply();
String token = accessToken.getToken(); // 获取Token
long expireTime = accessToken.getExpireTime(); // 获取Token有效期时间戳(秒)
  • token 是服务端分配的访问令牌,在有效期内可以重复使用。
  • expireTime 表示Token的有效期时间戳,单位为秒。

  • C++ 示例: SDK还支持C++语言,用户可以通过编译示例代码来获取Token。例如:

./tokenDemo <yourAccessKeySecret> <yourAccessKeyId>

2. 通过阿里云公共SDK获取Token

如果当前智能语音交互SDK未提供对应语言的支持,用户也可以通过阿里云公共SDK获取Token。这种方式需要调用RPC风格的API,并提供以下固定参数: - domain: nls-meta.cn-shanghai.aliyuncs.com - region_id: cn-shanghai - action: CreateToken - version: 2019-02-28

成功调用后,返回的报文包含以下信息: - Id: 分配的访问令牌Token。 - ExpireTime: Token的有效期时间戳(秒)。

3. Android SDK中的Token获取

在Android SDK中,推荐通过服务端生成具有时效性的临时凭证(Token),然后下发给移动端使用。这种方式可以避免将AccessKey ID和AccessKey Secret直接暴露在客户端,从而提升安全性。
- 推荐方法:通过服务端生成Token并下发给移动端。 - 不推荐方法:直接在客户端通过AccessKey ID和AccessKey Secret获取Token,因为这种方式存在账号信息泄露的风险。

4. 重要提醒

  • 安全性:建议在服务端集成Token SDK,客户端从服务端获取Token,以避免敏感信息泄露。
  • Token有效期:Token具有有效期,过期前必须重新获取。建议每天重新获取一次Token,确保服务的连续性。
  • 环境变量配置:调用接口前需配置环境变量ALIYUN_AK_IDALIYUN_AK_SECRET,用于读取访问凭证。

综上所述,阿里云语音AIGO的SDK确实将获取Token的逻辑进行了封装,用户只需按照文档提供的示例代码进行调用即可完成Token的获取和管理。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答