是否可以在启用了历史记录的用户级别使用Pubnub Access Manager?对于我的Android应用程序,我想将通道的访问权限仅限于某个位置2英里范围内的某些用户(代表该频道的位置)。但是,我想打开历史记录功能。
在Pubnub API参考中,“历史记录:要访问历史消息,您必须在subscribe_key或通道级别授予完全读取权限。当用户具有相应的权限时,他们可以访问存储的任何数据。如果他们没有访问权限PAM将返回403。“我知道更一般的权限胜过更具体的权限(即,如果您在subscribe_key或通道级别授予访问权限,则会在用户级别上取消权限)。
如果您想要用户级访问控制,那么您是否可以使用历史记录功能?
答案 0 :(得分:1)
subscribe
& history
需要read
权限要在频道上呼叫history
,用户必须拥有read
权限。来自history
的{{1}}没有单独的权限。此subscribe
权限允许您同时调用read
和subscribe
。
你是对的,如果你在频道级别授予history
权限(这意味着在授权中不包括授权和授权密钥),那么任何人都可以致电read
或subscribe
在那个频道上。
在子键级别授予history
(没有频道或auth-key参数的授权),每个人都有权在上调用read
和subscribe
信道
因此,您只需要为用户的 auth-key 上的频道授予history
,以便他们获取历史记录 - 他们也可以订阅。
如果您只是希望他们获得历史记录一次然后无法订阅,那么:
- 或 -
read
授予该频道1分钟read
。这样就可以给他们足够的时间来拨打ttl
而不用花费很多时间history
。 如果您不希望允许用户订阅,我会使用选项1。