pubnub - pubnub 在前端公开订阅密钥和发布密钥
问题描述
我正在开发一个聊天应用程序,在前端我正在使用 reactjs
对于 reactjs,我正在使用这个库:https ://www.npmjs.com/package/pubnub-react
我看到这里,订阅和发布密钥暴露在前端,我的问题是,在前端添加这样的密钥是否安全?
在这里你去示例代码:
const pubnub = new PubNub({
publishKey: 'myPublishKey',
subscribeKey: 'mySubscribeKey',
uuid: 'myUniqueUUID'
});
解决方案
PubNub 访问管理器
引用 Stephen Blum(Pubnub 的创始人兼首席技术官)对重复问题的回答:
这与 Facebook 的问题相同。我可以打开您的 FB 页面并从网络选项卡复制您的 auth_key 并访问您的 Facebook 页面。您必须将 PubNub auth_key 视为与仅用于用户的秘密相同。这就像允许访问数据流的会话密钥/ID,类似于 Netflix、Spotify、Facebook 和 Gmail 提供安全访问层的方式。
总而言之,您无法隐藏 PN 密钥,但您可以通过启用和实施PubNub Access Manager来保护它们。
从上面的链接中阅读文档,但是这个问题之前在 Stack Overflow 上也已经回答过几次了。那里的代码示例较旧,但概念相同:
此外,始终将 pub/sub 密钥从您的服务器(连同 auth-key 和 UUID)传递回客户端应用程序,而不是将它们硬编码到客户端代码中。这允许您在需要时交换密钥。这很少见,但如果您需要,它会非常有用。
推荐阅读
- php - 基于一键从多维数组中获取唯一性 - PHP
- reactjs - 反应:页面未更新
- c++ - 离屏帧缓冲区opengl上的glGetPixels
- r - 写入 CSV 文件时如何关闭科学记数法?
- microsoft-graph-api - 将父网站 columnLink 添加到 contentType
- swift - 方法调用后的语句在调用结束前执行
- git - ssh 身份验证成功到 git (github.com) 但连接关闭
- amazon-cloudformation - Codepipeline 创建的标签栈
- javascript - 为什么 React Native 操作符在调试和发布版本上表现不同
- java - 如何跟踪哪个人将哪些数据添加到数据库?