创建 Embed Token

为 Trading Widget partner-token 模式签发短期 embedToken。

以 Markdown 格式查看

SDK 调用

Embed Token 必须由 Partner 后端在校验用户登录态之后创建。浏览器只调用 Partner 自己的接口,Partner 后端再通过 Agent SDK 调用 6MM。

CreateEmbedTokenResponse resp = client.createEmbedToken(
CreateEmbedTokenRequest.of("agent-user-001", "tw_abc123")
.withSymbol("ETHUSDT"));
System.out.println(resp.embedToken);
System.out.println(resp.expireAt);

一次性凭据

embedToken 是短期一次性 token,不能放到 URL query 中。

后端接口示例

@PostMapping("/api/trading/embed-token")
public EmbedTokenView createEmbedToken(@RequestBody EmbedTokenRequest request,
PartnerSession session) {
String agentUserId = session.getAgentUserId();
CreateEmbedTokenResponse resp = agentClient.createEmbedToken(
CreateEmbedTokenRequest.of(agentUserId, request.getChannelId())
.withSymbol(request.getSymbol()));
return new EmbedTokenView(resp.embedToken, resp.expireAt, request.getChannelId());
}

只向前端返回 Trading Widget tokenProvider 需要的字段。不要返回 apiSecret、原始签名字段或内部服务配置。

失败处理

情况建议处理
用户会话不存在或已过期Partner 接口返回 401,并要求用户重新登录。
Agent 用户尚未绑定先绑定用户,再重试创建 token。
6MM 返回临时错误向前端返回可重试错误,并记录 requestId 便于支持排查。
channelId 与 Widget 实例不匹配拒绝请求并重新创建 Widget 会话。