FastGPT的分享链接支持身份验证配置,可在每次分享链接使用时发起校验和上报请求。配置时仅需填写校验根地址,无需指定完整请求路径。使用分享链接时,需额外添加authToken参数,该参数通常为业务系统生成的用户唯一凭证,FastGPT会在鉴权接口的请求体中携带token=[authToken]参数。
身份验证接口配置步骤
- 配置校验根地址:在FastGPT系统的对应设置项中填入校验接口的根地址。
- 添加分享链接参数:在原有分享链接后拼接
&authToken=用户唯一凭证,例如将https://share.fastgpt.io/chat/share?shareId=648aaf5ae121349a16d62192修改为https://share.fastgpt.io/chat/share?shareId=648aaf5ae121349a16d62192&authToken=userid12345。 - 编写初始化校验接口:该接口接收POST请求到
{{host}}/shareAuth/init,请求体格式为{"token": "[authToken]"}。鉴权成功时返回{"success": true, "data": {"uid": "用户唯一凭证"}},系统会拉取该uid对应用户的对话记录;鉴权失败时返回{"success": false, "message": "身份错误"}。 示例请求: ```bash curl --location --request POST '{{host}}/shareAuth/init' \
--header 'Content-Type: application/json' \ --data-raw '{"token": "[authToken]"}'
```
- 编写对话前校验接口:该接口接收POST请求到
{{host}}/shareAuth/start,请求体需包含token和question字段,格式为{"token": "[authToken]", "question": "用户问题"}。鉴权成功时返回格式与初始化接口一致;鉴权失败可返回{"success": false, "message": "身份验证失败"}或{"success": false, "message": "存在违规词"}。 示例请求: ```bash curl --location --request POST '{{host}}/shareAuth/start' \
--header 'Content-Type: application/json' \ --data-raw '{"token": "[authToken]", "question": "用户问题"}'
```
- 编写可选的对话结果上报接口:该接口接收POST请求到
{{host}}/shareAuth/finish,请求体需包含token和responseData字段,无强制返回格式。需重点关注responseData中的totalPoints(总消耗AI积分)和tokens(Token消耗总数)两个字段,用于业务侧的成本统计。
对话结果上报接口的responseData字段覆盖了对话流程中所有模块的执行数据,包括检索模块、AI对话模块等,可帮助业务方完整追踪对话的资源消耗与执行细节。
来源:FastGPT 官方文档