- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个特定的用例,我需要将用户的账户余额发送到他们的浏览器和/或移动设备。这些余额当然是私有(private)的,但当余额发生变化时,我需要将余额更新发送给每个连接的用户,但是,我担心会同时推送到 1000 个私有(private) channel 。
对于这种用例,Pusher 和 PubNub 之间是否有任何限制?
编辑:我特别在看 https://pusher.com/docs/server_api_guide/interact_rest_api#example-publish-an-event-on-multiple-channels/lang=cs并一次发布到多个 channel 。我能否一次性发布到 100,000 个私有(private) channel ?
最佳答案
每个 channel 每秒的发布次数没有硬性限制。 PubNub 保留更改此限制的权利。联系 support@pubnub.com
确认您的限制。
因此您需要安全地将实时帐户余额信息发送给许多人。当您想要传输一个人的实时账户余额时,您将需要一份安全注意事项 list 。由于您是从受信任的代码执行环境传输实时帐户余额,因此您不需要实现 PKI (公钥基础设施) 安全性。但是,您确实需要 session token 安全授权、用户身份验证和双层加密。
session token 安全:PubNub Access Manager将提供允许基于 session 的用户级访问管理的机制。
用户身份验证:您需要通过电子邮件/密码对用户进行身份验证。身份验证成功后,您将使用 grant()
API 颁发 Session Token 以用于 PubNub Access Manager。您还将生成将在第 3 项中使用的安全字符串(随机长不可预测 key )。
双层加密:除了TLS,您还将使用 PubNub AES256 消息加密。您将在 SDK 初始化时提供一个 cipher_key
。在上面的 2 项中,除了 token session key 之外,您还需要生成并发送密码 key 给用户。 Cipher Key 和 Auth Key( token session key )都应该是长的、随机的和不可预测的。
session token key (Auth key ) 和密码 key 的良好示例:
cHRiSEZPVkdnd1RqTktNVnB0YkdWS1UxSlRVbXNVMUpyV201U05XUlhSak
Note: The
uuid
(the user's id) should be treated the same as a cipher key and session token in regards to long and unpredictable.
现在您可以使用以下 JavaScript 示例安全连接到 PubNub。
<!-- User Initialization Example -->
<script src="https://cdn.pubnub.com/pubnub-3.7.17.min.js"></script>
<script>(function(){
// Init User Connection
var pubnub = PUBNUB({
, subscribe_key : 'sub-c-your-subscribe-key-here'
, auth_key : 'user-session-token-here'
, cipher_key : 'user-cipher-key-here'
, uuid : 'user-id-here'
, ssl : true
});
// Subscribe to a Private User Channel
pubnub.subscribe({
channel : 'user-private-channel-here'
, message : function(message) { console.log(message) }
});
})()</script>
现在,对于可信执行环境中的服务器代码,您可以向最终用户客户端发布消息。
// Server Initialization Example
var pubnub = PUBNUB({
publish_key : 'pub-c-your-publish-key-here'
, subscribe_key : 'sub-c-your-subscribe-key-here'
, secret_key : 'sec-c-your-secret-key-here'
, auth_key : 'server-admin-session-token-here'
, cipher_key : 'destination-user-cipher-key-here'
, uuid : 'server-id-here'
, ssl : true
});
// Send Realtime Balance when User's Balance Changes
pubnub.publish({
channel : 'destination-user-private-channel-here'
, message : { "balance" : 10.00 }
});
Note: You must pre-grant access to the user's
auth_key
before they can subscribe to their user channel on the client device. The server must grant using thegrant
API.
// Send Realtime Balance when User's Balance Changes
pubnub.grant({
channel : 'destination-user-private-channel-here'
, auth_key : 'user-session-token-here'
, ttl : 1440 // minutes of session time to live
, read : true // user can read-only
, write : false // user can't write
});
遵循上述准则将使您能够提供现代安全性以向最终用户传送敏感信息。请注意,我们没有涵盖 PKI Public Key Infrastructure从不受信任的代码执行环境发布时,您将需要它。然而,根据您的需要,您将不需要 PKI,因为您是从服务器的可信代码发布的。
关于pubnub - Pusher/PubNub 1000 多个私有(private) channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33845454/
我们想在 Pubnub 的聊天 channel 中创建消息线程。例如,某人可以通过“创建线程”并开始聊天来响应 channel 中的特定消息。是否有规定的方法来模拟这种行为?如果是这样,您能否引用文档
我们想在 Pubnub 的聊天 channel 中创建消息线程。例如,某人可以通过“创建线程”并开始聊天来响应 channel 中的特定消息。是否有规定的方法来模拟这种行为?如果是这样,您能否引用文档
PubNub 建议“向任何一个 channel 发布消息的速度不得超过每秒 5 条消息”。我想知道 PubNub 本身是否有一些设置可以限制发布消息? 例如,我每秒向一个 channel 发布 100
我们正在使用 NodeJS 发布消息。订阅者是否可以通过电子邮件接收消息? 最佳答案 目前,PubNub 支持原生的 PubNub、GCM 和 APNS 消息端点。更多信息在这里:http://www
想象一下我们有很多生产者和一个消费者的场景。消费者订阅了一个名为“consumerGroup”的 channel 组。生产者每次进入系统,都会将 channel “Producer-ID-Channe
我正在研究 pubnub 以在 Rickshaw 的实时数据可视化中使用。但我不明白 channel 是否已经配置或者我们是否必须配置它们。如果是这样,我们如何为数据可视化配置 channel ?另外
假设相同的 uuid 是 subscribe() with channels 但他们在不同的订阅时间和来自不同的浏览器 场景 使用 Chrome 10 分钟之前 订阅 channel =>channe
我想知道从 pubnub.history 检索到的消息是谁发送的! pubnub.history() 只返回时间 token 和消息。 最佳答案 PubNub 发件人 UUID:实时与历史记录 发送者
是否可以获取与 Pubnub 订阅 key 关联的所有 channel ?使用此 key 创建的所有 channel ? 谢谢, 最佳答案 您可以使用 Global Here Now 调用 - htt
使用 PubNub Presence 功能时,是否可以提供用户加入或离开 channel 时 PubNub 调用的 HTTP 回调?就我而言,我想调用 Parse.com 云函数。澄清一下:我不想从客
我有一个特定的用例,我需要将用户的账户余额发送到他们的浏览器和/或移动设备。这些余额当然是私有(private)的,但当余额发生变化时,我需要将余额更新发送给每个连接的用户,但是,我担心会同时推送到
我有一个应用程序,每个用户必须接收仅与他们自己相关的通知。 为此,我为每个用户创建了一个唯一的 channel 名称。当用户使用 javascript 从浏览器登录时,我订阅了这个 channel 。
是否可以在 pubnub 中发布到 channel 组并接收到添加到 channel 组的所有 channel 的消息? 最佳答案 发布到 channel 组 目前不支持发布到 channel 组或多
在我的一个应用程序中,我使用 PUBNUB 进行实时网络通信。 但是我面临一些奇怪的问题,因为当我订阅一些 channel 时,window.print()(打印预览对话框未打开)根本不起作用。 如果
我正在尝试将时间戳 2016-02-11 03:31:18 转换为 17 位精度 unix 时间 (UTC) 的 pubnub 时间戳,类似于 pubnub 给出的引用 URL 中给出的 134067
PubNub 的 Eon Charts 为每条单独的 PubNub 消息查找一个 JSON 对象数据集。请参阅 git hub 上的 Eon-Chart pubnub-c3.js。 要了解可能出现的数
我正在使用 PubNub Api 和 ionic 平台创建 Whatsapp 应用程序。但是,它存在 ionic.bundle.js:21157 TypeError: PubNub.publish 不
记录每条已发布消息并将其保存到我的服务器数据库的正确方法是什么? 我能想到的有两种选择: 在发布事件后使用 PubNub 功能并将消息转发到专用的记录器 channel 。服务器将订阅 channel
我想从事与即时消息相关的个人项目。我想知道是否有像 pubnub 这样的 API 对公众开放。 谢谢 最佳答案 您可以在 http://www.pubnub.com/developers 找到所有开源
我正在努力了解如何使用 rxjs 库将以下内容转换为 observable。 var client = PUBNUB.init({ publish_key: 'pubkey', subscri
我是一名优秀的程序员,十分优秀!