我正在就如何迅速实现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/

10-12 12:19