For the complete documentation index, see llms.txt. This page is also available as Markdown.

个人访问令牌

从你的后端生成短期令牌,这样真正的 API 密钥就不会随 Unity 构建一起发布,从而消除客户端应用中的凭据暴露风险。

默认情况下,Convai Unity SDK 会从 ConvaiSettings.asset,它被编译进你的构建中。任何提取构建的人都可以检索该密钥并将其用于你的 Convai 账户。个人访问令牌(PAT)可以完全消除这种暴露。你的真实 API 密钥存放在你的 后端 ——一个由你控制的服务端应用(Node.js、Python、.NET 等),你的用户不会直接与之交互。后端会生成一个短期令牌——有效期为一小时——并将其交给 Unity 应用。应用使用该令牌连接到 Convai。如果令牌被截获,它会在一小时内过期,无法再用于访问你的账户设置、角色或计费。PAT 需要一台保存真实 API 密钥并代表你的用户调用 Convai 令牌端点的服务器。一个轻量级函数(AWS Lambda、Azure Function、Cloudflare Worker 等)就足够了——它每个会话只需要发起一次 HTTP 请求。

你的后端  ──保存──►  真实 API 密钥

      │  POST /user/connect  (服务端调用,绝不来自客户端)

   Convai API  ──返回──►  apiAuthToken  (1 小时)

      │  在运行时传递给 Unity 应用

Unity 应用  ──使用──►  apiAuthToken  作为凭证
                      (真实 API 密钥绝不会包含在构建中)

令牌端点

这三个端点都指向 https://api.convai.com 并且需要在 CONVAI-API-KEY 头中提供你的真实 API 密钥。 这些调用由你的后端发起,而不是由 Unity 应用发起。

生成令牌

POST https://api.convai.com/user/connect
标头

Content-Type

application/json

CONVAI-API-KEY

你的 Convai API 密钥

请求正文: {}

响应:

字段
说明

apiAuthToken

要传递给 Unity 应用的短期令牌。

expirationTime

过期的 UTC 时间戳——大约在生成后 1 小时。

当当前令牌仍然有效时,你可以生成一个新令牌。生成新令牌不会使之前的令牌失效。

延长令牌

头部:与“生成”相同。

重置现有令牌的过期计时,但不会使其失效。

撤销令牌

头部:与“生成”相同。

会立即使令牌失效。请在注销时,或在不再需要令牌时调用此接口。


与 Unity SDK 集成

apiAuthToken 值作为 apiKey 参数中 ConvaiBootstrapConfigSnapshot传入 CONVAI-API-KEY 。SDK 会将其作为

不要在 ConvaiSettings.asset 中为生产构建设置 API 密钥。 将该字段留空,并在运行时通过以下方式提供 PAT: CreateRuntimeBuilder().


令牌过期与会话时长

一旦 Convai 会话开始,在该会话持续期间就不再检查令牌——即使令牌在会话中途过期,也不会使用户断开连接。PAT 只在连接时被使用一次。

场景
行为

令牌在以下操作之前过期 ConnectAsync() 被调用

连接失败——从你的后端获取一个新令牌并重试。

令牌在活动会话期间过期

会话不受影响——令牌只在连接时检查,不会在会话持续期间被保留。

令牌过期后应用重启

始终在启动时获取新的令牌——不要在不同启动之间缓存令牌。


使用示例

示例 1:按会话令牌的 LMS 平台

一家企业安全培训平台会在 LMS 登录响应中发放一个 Convai PAT。学员通过身份验证后,会在服务器端生成该令牌,并与 LMS 会话数据一起返回。

示例 2:按住户轮换令牌的共享自助终端

每位住户登录共享培训自助终端后,都会从后端收到一个新的 PAT,进行模拟交互,然后注销。注销时会显式撤销该令牌,因此它无法再次使用。

示例 3:长时间运行应用的按需令牌刷新

工业培训模拟可能会运行数小时。虽然活动会话不会因令牌过期而受影响,但在过期后新建会话则需要新的令牌。在重新连接之前,请使用后端的延长或重新生成端点。


故障排查

症状
可能原因
修复

连接立即失败

apiAuthToken 为 null——后端获取失败

请在控制台中查看 令牌获取失败 日志;验证你的后端端点 URL 和身份验证头。

401 连接时 Convai 返回的身份验证错误

令牌在之前就已经过期或被撤销 ConnectAsync()

务必在连接前立即获取新的令牌——不要在不同会话之间重复使用缓存的令牌。

连接后会话立即断开

serverUrl 在以下内容中有误 ConvaiBootstrapConfigSnapshot

设置 serverUrlhttps://live.convai.com ——PAT 的作用范围限定于此端点。

apiAuthToken 在后端响应中为 null

请求正文格式错误,或缺少 CONVAI-API-KEY 后端调用中的头部

请确保正文为 {} 并且头部存在。请在后端记录原始响应以检查错误。

令牌在开发环境可用,但在生产构建中失败

ConvaiSettings.asset API 密钥字段为空,且未获取 PAT

请确认 PatConvaiManager.Awake() 在以下操作之前运行并完成后端获取: base.Awake() 被调用。


下一步

自定义身份提供程序自定义凭据提供程序

最后更新于

这有帮助吗?