网页 综合 更新时间 2026-11-13 20:01:31

后端认证示例 | 泡泡 IM 开发文档

自动蜘蛛 www.popoim.com 正文约 1032 字
这一页实现认证与登录中的后端步骤:你的后端用 SDKSecret 调用 Popo IM,为已经登录你产品的当前用户获取 IM Token。选择你的后端语言即可,客户端 SDK 的接入语言不影响这里的选择。
这里的认证流程是携带密钥换 Token,无需自行计算签名。 JWT 的 HS256 签发与验签由 Popo IM 完成,算法说明见认证和签名算法。
生产使用 HTTPS,并保留 HTTP 客户端的证书校验。下面的函数均设置 10 秒请求超时、不跟随重定向,并校验 HTTP 状态、业务 code、用户身份、Token 及到期时间。
示例是可放入你项目的取 Token 函数,没有替你实现宿主登录系统。传入的 user 必须由登录中间件确认身份后,从服务端资料库构造,字段如下:
user_id、nickname 必填;其余字段应按当前完整资料提交,省略会重置相应值。不要将客户端请求 Body 直接传给此函数。
五个函数都返回 Popo IM 响应中的 data 对象,包含 user、token、expire_at,以及服务端返回的 push。字段保持 HTTP 的命名;客户端 Provider 再转换成 userId、expireAt 等 SDK 模型字段。
下面是框架无关的处理顺序,对应客户端要请求的 POST /api/im-auth:
如果使用 Cookie 登录,沿用你项目现有的 CSRF 防护。函数抛错或 Go 返回 error 时,由接口统一处理:上游异常可返回 HTTP 502 和你自己的业务错误码,不把原始上游响应、Token、请求头或密钥写入错误响应和日志。宿主登录失效使用 401,避免客户端把 IM 服务临时故障误判成用户退出。
这份最小实现每次向 Popo IM 获取有效 Token。先打通链路,再按实际需要加服务端缓存;缓存必须按用户隔离,在资料变更及到期前失效,不能把陈悦的凭证返回给林舟。
需要推送配置时,再从宿主请求中读取并校验 platform、manufacturer、package_name 三项,将它们一并提交给 Popo IM;用户身份仍由后端登录态确定。字段约束见取 Token 接口。
本地调试时只检查必要字段,不将完整 Token 粘贴到公共 JWT 解析网站。下一步选择 Web、Android、iOS、HarmonyOS 或 uni-app,将此接口配置到客户端 authProvider。
访问原文 返回搜索 https://www.popoim.com/developers/sdk/server-auth
本页为82搜索生成的网页快照,内容来自站内索引;演示数据的原文链接仅作示例。