我正在尝试将频道添加到频道组,并使用以下代码将pub / sub的auth_key关联到此频道:
pubnub.channel_group_add_channel({
callback: function(success) {
pubnub.grant({
channel: channelName,
auth_key: userAuthKeyForChannel,
read: true,
write: true,
ttl:0,
callback: function(response){
console.log(response);
res.status(200).json({response: {ChatChannel: createdRecord}, token:req.token});
}
});
},
error: function(err) { return hlprs.sendResWithErr(res,err,500,true,'Error while trying to add channel to group in our messaging platform'); },
channel: channelName,
channel_group: channelGroupName
});
但我总是得到回复
{ message: 'Forbidden',
payload: { 'channel-groups': [ ':90c977bbc169b12054706b0de07dd9f2' ] }
}
当我在PubNub管理面板中禁用Access Manager时,它(显然)可以正常工作。我还想提一下,这个请求发生在服务器后端,其中pubnub用subscriber_key,publish_key和secret_key初始化。在此之前没有其他pubnub请求,并且在其他环境中没有人订阅。
编辑:我想我需要在继续在组中添加频道之前在应用程序级别向后端授予权限,但是我不确定如何正确地执行此操作。
答案 0 :(得分:3)
pubnub.grant({
channel_group : "90c977bbc169b12054706b0de07dd9f2",
auth_key : "SUPER_SECRET",
channel : channel,
read : true,
write : true,
manage : true, // <-- Manage Permission TRUE
callback : success,
error : errorback
});