我正在使用 pubnub SDK (php/JS),但很难理解以下内容:
在 JS 中,pubnub 凭据对任何人都可见。现在我不关心谁读取和写入 channel 。但是我如何防止其他人简单地复制我的 pubnub 凭据并在他们自己的项目/网站中使用它们?
我的用户不需要登录,所以我不确定如何使用 PAM 来防止上述情况。
最佳答案
PubNub 安全访问
"My users do not need to login"
如果需要,您可以授予永久有效的一次性 token 。您可以为未经身份验证的用户提供这个永久 token 。这样以后您就可以选择撤销 token 。您可以使用 PubNub Developer Console 生成 token .
本质上,即使他们没有进行身份验证,您仍然需要为每个用户提供一个 token 。即使您不知道他们是谁,他们也必须检查您的申请。
理想情况下,每个用户都有自己的auth_key
。但由于您不验证身份,因此您可以为每个用户提供相同 auth_key
。这样您就可以随时生成新 key 并随时撤销旧用户。
您的 API key 应该是公开的。这是一件好事。唯一必须保持隐藏的 key 是 secret key
。绝不能传输或共享 key 。您不应将 key 保存在设备、应用程序、代码或代码存储库上。您应该将此 key 保密,因为它允许您向用户授予访问权限。如果您的 key 暴露请联系[email protected]更改您的 key 。您也可以自己重新生成 key 。当您拥有 key 时,您可以授予对用户进行授权的 token 。 token 允许在用户级别进行精细的读写访问控制。
PubNub 访问管理器教程
A good place to start.
从这里开始 - Access Manager Getting Started Guide - 使用 PubNub Access Manager,只需几个简单的步骤即可按人员、设备或 channel 对数据流进行细粒度访问控制。
- Access Manager provides token-based authorization allowing granular read and write access.
- JavaScript V4 Security Tutorial - Access Control
Diagram below shows devices with
auth_key
access tokens. The "Customer Data Center" holds the Secret Key. The secret key is used to generate theauth_key
tokens.
Follow the steps starting with your servers to generate and exchange the
auth_key
access tokens for your users.
关于credentials - 如何防止 pubnub 凭据的不必要使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43204782/