首页 > 解决方案 > 如何在 swift 中实现 Pubnub 访问管理器

问题描述

我正在研究如何快速实现 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。任何帮助将不胜感激。请帮我。

标签: javascriptiosswiftpubnub

解决方案


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

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

也可以看看


推荐阅读