如何快速实现Pubnub Access Manager

时间:2019-07-04 13:32:27

标签: javascript ios swift pubnub

我正在就如何快速实现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。任何帮助将是   赞赏。请帮助我。

1 个答案:

答案 0 :(得分:0)

Swift应用程序的PubNub访问管理器

PubNub Swift SDK (Access Manager Tutorial)没有授予方法,因为您需要使用密钥来初始化PubNub,并且永远不要在客户端应用程序中这样做。您只应在安全的服务器上这样做。您的服务器向传回客户端的auth-key(例如Swift应用程序)授予权限,并且该auth-key用于通过您的订阅密钥和可选的发布密钥来初始化PubNub。

另请参见