服务器端 JS SDK 无法标记用户

Server Side JS SDK fails to flag user

我有一个在消息保存和消息更新时运行的 webhook。我做了一些基本的坏词过滤。我可以更新消息以过滤掉不好的词。但是,当我尝试标记消息时,出现错误。有人见过这样的东西吗?你是如何解决这个问题的?

代码:

client.flagMessage(message.id).then(r => console.log('flagged message', r))

我已验证客户端正常工作,因为我能够在同一个 Promise.all() 调用中更新与客户端的消息。

错误:

Flag failed with error: "either user or user_id must be provided when using server side auth."

版本: "stream-chat": "^1.7.4"

文档:

这似乎与这个已关闭的问题非常相似: https://github.com/GetStream/stream-chat-js/issues/113

这可能不是一个正确的答案,但绝对可以解决您的问题。

如果在客户端调用 setUser 那么服务器将能够从 JWT(客户端身份验证)中获取标记用户,但是在服务器端身份验证中,没有用户传递给服务器,所以你得到预期的错误消息。

您查看 REST 文档,如所见,服务器支持它,而 JS 客户端缺少此服务器端支持。这是 JS 客户端缺少的功能错误。 It's reported to be extended as soon as possible.