gpt4 book ai didi

android - 启用历史功能的 Pubnub 用户级访问控制

转载 作者:太空狗 更新时间:2023-10-29 13:59:53 26 4
gpt4 key购买 nike

是否可以在启用历史记录的情况下在用户级别使用 Pubnub Access Manager?对于我的 Android 应用程序,我想将对某个 channel 的访问限制为仅位于某个位置 2 英里(代表该 channel 的位置)内的某些用户。但是,我想保持历史记录功能打开。

在 Pubnub API 引用中,“历史:要访问历史消息,您必须在 subscribe_key 或 channel 级别授予完全读取访问权限。当用户具有适当的权限时,他们可以访问任何存储的数据。如果他们没有访问权限PAM 将返回 403。”而且我知道更一般的权限胜过更具体的权限(即,如果您在 subscribe_key 或 channel 级别授予访问权限,那么这将否决用户级别的权限)。

那么如果你想要用户级别的访问控制,你是否可以不使用历史记录功能?

最佳答案

PubNub Access Manager - subscribe & history 需要read 权限

要在 channel 上调用history,用户必须具有read 权限。 subscribe 没有单独的history 权限。此 read 权限提供调用 subscribehistory 的能力。

你是对的,如果你在 channel 级别授予 read 权限(这意味着在授权中不包括 auth-key),那么任何人都可以调用 subscribe或该 channel 上的历史

在子 key 级别授予read(没有 channel 或auth-key参数的授予)将授予每个人调用subscribehistory的权限任何 channel

因此,您只需在用户的auth-key 上授予 channel read 权限,他们就可以获取历史记录 - 他们也将能够订阅。

如果您只是想让他们获取一次历史记录,然后就无法订阅,那么:

  1. 代表用户获取服务器调用历史记录,并根据从用户到服务器的 GET 将结果传回给用户。

- 或 -

  1. 在用户的授权 key 上授予用户 read channel 1 分钟 ttl。这将使他们有足够的时间调用 history,而没有太多时间来订阅

如果您根本不想让用户订阅,我会选择选项 1。

关于android - 启用历史功能的 Pubnub 用户级访问控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36635716/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com