iframe 嵌入免登录
如果你希望把 Data Agent 页面嵌入到自己系统的 iframe 中,并且让用户在进入业务系统后无需再次登录 Data Agent,可以使用下面这种方式:
- 业务侧先为当前用户申请一个 Data Agent 用户 token
- 再把这个 token 拼接到 iframe 地址中
备注:token是一次性的,也就是说登陆成功后,token就会失效。
前置条件
接入前需要具备以下条件:
- 业务系统已经知道“当前登录用户是谁”
- Data Agent 中存在与该业务用户对应的账号
- 业务方可以通过管理员 API 密钥调用
yiaskAuth:issueUserToken
如果你还没有签发用户 JWT 的方法,可以先看JWT Token 生成。
基本流程
- 用户先登录你的业务系统。
- 业务前端或业务后端确认当前用户身份。
- 调用 Data Agent 的
POST /api/yiaskAuth:issueUserToken,为当前用户签发 Data Agent 用户 token。 - 将返回的 token 拼接到 iframe 的
src中。 - 浏览器加载 iframe,对应用户即自动进入 Data Agent 页面。
iframe 地址示例
其中:
https://data-agent.example.internal是你的 Data Agent 服务地址/admin/chat是你希望打开的 Data Agent 页面路径- 必需参数
token=<USER_JWT_TOKEN>是通过yiaskAuth:issueUserToken签发得到的当前用户 JWT - 可选参数
agent=<AGENT_NAME>是你希望打开的 AI 员工用户名字段 - 可选参数
space=<SPACE_NAME>是你希望打开空间的空间标识(前提是用户在该空间有权限)
流程示意
安全建议
接入时至少遵守下面几点:
- 不要把管理员 API 密钥直接放到前端。
- 建议由你自己的业务后端调用
issueUserToken,再把用户 token 返回给前端。 - 生产环境务必启用 HTTPS。
- 控制 token 有效期,不要签发过长生命周期的 token。
实施建议
- 不要手工生成 JWT,请统一使用
yiaskAuth:issueUserToken。 - 不要把管理员 API 密钥暴露给浏览器。
- 生产环境请使用 HTTPS。
总结
iframe 免登录接入方式很直接:
- 先为当前用户签发 Data Agent 用户 token
- 再把 token 拼接到
iframe src - 浏览器首次访问 iframe 时,Data Agent 会识别 token 并完成登录

