我正在就如何迅速实现pubnub访问管理器进行研发,经过一番研究,我知道:
Swift SDK不包含pubnub.grant
我需要使用pubnub函数实现无服务器计算
我在pubnub信息中心中创建了一个函数,并创建了一个
模块PubNub,还创建了事件类型为“ On Request”的函数
并添加了授权代码。
export default (request, response) => {
const pubnub = require('pubnub');
const kvstore = require('kvstore');
let headersObject = request.headers;
let paramsObject = request.params;
let methodString = request.method;
let bodyString = request.body;
response.headers['Access-Control-Allow-Origin'] = '*';
response.headers['Access-Control-Allow-Headers'] = 'Origin, X-Requested-With, Content-Type, Accept';
response.headers['Access-Control-Allow-Methods'] = 'GET, POST, OPTIONS, PUT, DELETE';
response.headers['Content-Type'] = 'application/json';
var uuid = 'aartisagarvadgama'
return pubnub.grant({
channels: ['channel_atts_pubnub'],
read: true, // false to disallow
write: false, // false to disallow,
authKeys: [uuid],
ttl: 0
}).then(() => {
console.log('grant success')
response.status = 200;
return response.send(uuid);
}).catch((error) => {
console.log(error);
response.status = 400;
return response.send();
});
};
我通过从函数复制URL并获取成功代码来调用上述函数,但这如何反映我的iOS应用程序。
无论如何,请让我知道如何在我的应用程序中实现访问管理器。
根据我的理解,我需要创建一个函数并通过调用
该功能我可以授予用户。之后,当我尝试
订阅或发布,我将得到200而不是403。任何帮助都将是
赞赏。请帮我。
最佳答案
Swift应用的PubNub访问管理器
PubNub Swift SDK (Access Manager Tutorial)没有授予方法,因为您需要使用私有密钥来初始化PubNub,并且永远不要在客户端应用程序中这样做。您只能在安全的服务器中这样做。您的服务器向传回客户端的auth-key(如Swift应用程序)授予权限,并且该auth-key用于通过您的订阅密钥和可选的发布密钥来初始化PubNub。
也可以看看
Access Manager Getting Started Guide
PubNub Access Manager - How It Works
Node SDK Docs - Security with Access Manager Tutorial
关于javascript - 如何快速实现Pubnub Access Manager,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56889108/