You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pusher通知客户端无法识别userId token的报错问题求助

这个错误是Pusher Beams的客户端SDK在调用你配置的认证接口拿用户token时,没能从接口返回结果里取到有效值的token导致的,你可以按以下步骤排查:

  • 第一步:校验认证接口的返回结构
    打开浏览器开发者工具的「网络」面板,刷新页面复现问题,找到发往/Account/BeamsAuth/的请求:
    • 先确认请求状态码为200,若为4xx/5xx,优先排查服务端接口的权限、代码报错问题
    • 再看响应体结构,Beams默认要求接口直接返回{"token": "<实际JWT内容>"}的根结构,如果你服务端返回的格式是带外层包装的(比如{"code":200,"data":{"token":"xxx"}}),SDK直接读根节点的token就会读到null,触发报错。
  • 第二步:适配自定义返回结构(如果需要)
    如果你不想修改服务端的统一返回格式,可以给TokenProvider添加自定义响应解析逻辑,示例如下:
    const beamsTokenProvider = new PusherPushNotifications.TokenProvider({
        url: "/Account/BeamsAuth/",
        tokenResponseParser: async (response) => {
            const res = await response.json()
            // 按你实际的返回层级取token即可
            return res.data.token
        }
    });
    
  • 第三步:校验userId有效性与服务端token生成逻辑
    • 确认前端渲染后的currentUserId不为空,你用的Razor语法@User.Identity.GetUserId()要确保用户处于登录状态才会返回有效值,未登录时为空会导致服务端生成token失败
    • 确认服务端生成Beams token时用的实例ID、密钥和前端配置的一致,且传入的userId和前端传的参数完全匹配。

内容的提问来源于stack exchange,提问作者ajavad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 06:24:04