默认流式聊天 returns 所有频道
Stream Chat returns all channels by default
我正在使用 React Stream Chat 组件,默认情况下我会获取所有频道,即使是设置用户不是其成员的频道。这是我设置用户的方式:
await client.setUser(
{
id: user.id.toString(),
name: user.name,
},
user.streamToken,
);
这就是聊天组件的样子。
<Chat client={chatClient}>
<ChannelList />
<Channel>
<Window>
<MessageList />
<MessageInput />
</Window>
<Thread />
</Channel>
</Chat>
所有频道都是由两个成员创建的,文档说:
You only need to specify the members if you want to limit access of this chat to these members and subscribe them to future updates
登录频道时,我可以验证我正在获取我不是会员的频道。
这是预期的行为还是我遗漏了什么?
将过滤器传递给 ChannelList 有一个解决方法:
const filters = { members: { $in: [currentUser.id.toString()] } };
您可能关闭了权限检查。您可以在 Stream Dashboard 上启用它们。
在"Disable Permissions Checks"下。切换它应该会激活权限检查并显示只有您是其中成员的所有频道。
您仍然希望在您的应用中保留过滤器。
我正在使用 React Stream Chat 组件,默认情况下我会获取所有频道,即使是设置用户不是其成员的频道。这是我设置用户的方式:
await client.setUser(
{
id: user.id.toString(),
name: user.name,
},
user.streamToken,
);
这就是聊天组件的样子。
<Chat client={chatClient}>
<ChannelList />
<Channel>
<Window>
<MessageList />
<MessageInput />
</Window>
<Thread />
</Channel>
</Chat>
所有频道都是由两个成员创建的,文档说:
You only need to specify the members if you want to limit access of this chat to these members and subscribe them to future updates
登录频道时,我可以验证我正在获取我不是会员的频道。 这是预期的行为还是我遗漏了什么?
将过滤器传递给 ChannelList 有一个解决方法:
const filters = { members: { $in: [currentUser.id.toString()] } };
您可能关闭了权限检查。您可以在 Stream Dashboard 上启用它们。
在"Disable Permissions Checks"下。切换它应该会激活权限检查并显示只有您是其中成员的所有频道。
您仍然希望在您的应用中保留过滤器。