【问题标题】:pubnub Access manager(PAM) grants revoke() is not working?pubnub 访问管理器(PAM)授予 revoke()不起作用?
【发布时间】:2017-04-25 08:31:56
【问题描述】:

我已在我的 pubnub 帐户上启用 PAM。我有一个简单的聊天应用程序,我在其中撤销了对频道的授权,如下所示:

pubnub.grant(
{
    channels:[channel,channel+'-pnpres'],
    ttl: 2, // 0 for infinite
    read: false, // false to disallow
    write: false, // false to disallow
    manage: false,
},
function (status) {
    // handle state setting response
    console.log(" status = "+status);
    });
});

但是,我仍然可以在该频道上继续聊天。期望是因为我不应该被允许发布/订阅该频道,因为我删除了读/写/管理授权。

为什么没有发生?

【问题讨论】:

  • 这听起来像一个错误!这当然不应该发生。如果您撤销对频道的访问权限,它应该会按预期工作。有一件特别的事情需要注意。具有最近撤销的身份验证密钥的连接设备仍将有权接收最后一条消息。这样您就可以向设备发送最后一条消息,详细说明他们已被撤销访问权限。通过这种方式,移动应用程序能够告诉用户他们已被撤销访问权限。

标签: publish-subscribe pubnub


【解决方案1】:

PubNub 访问管理器和密钥

问题已在 PubNub 支持中得到解决。对于当前版本的 PubNub SDK(v4x 和 3x 的一些最新版本 - 检查功能矩阵和/或 changlelogs 以验证),当您使用密钥初始化 PubNub 时,它具有所有访问权限 /all 频道和频道组无需授权密钥,并且您无法撤销拥有密钥的客户端的访问权限。

正在更新有关此行为的文档以更加突出。

【讨论】:

    猜你喜欢
    • 2015-05-24
    • 1970-01-01
    • 2012-07-12
    • 1970-01-01
    • 2012-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多