RPC class 未经身份验证

RPC class without authentication

我正在尝试对需要身份验证的 deepstream 服务器进行 RPC 调用,这是配置:

#Authentication
auth:
    type: http
    options:
        endpointUrl: http://localhost:3000/auth-user
        permittedStatusCodes: [ 200 ]
        requestTimeout: 500

这里是权限:

rpc:
    "*":
       provide: true
       request: true

身份验证工作正常。但是当我在调用

之前尝试进行 RPC 调用时
client.login()

我不断收到此错误:ACK_TIMEOUT,并且在 websocket 帧上查看 frames/data 似乎没有发送到服务器,是否有一些客户端验证禁止在登录调用之前与服务器进行任何交互? 有没有办法进行匿名 RPC 调用然后进行登录?

deepstream 会在身份验证之前阻止所有调用 - 即使是 public 连接,也需要先使用 null 或空参数调用登录。但是,您可以创建一个 public/open 用户,http auth 服务器允许通过该用户进行初始 RPC,然后立即断开连接并使用正确的凭据重新连接