如何在ably.io中撤销令牌



出于安全目的,我希望对不同的通道拥有自定义权限。在文档和示例中,使用了短期令牌。我不想每分钟都向身份验证服务器发送垃圾邮件,也不希望攻击者在令牌被吊销之前能够发送垃圾邮件。pubnub拨款非常简单,效果很好。ably是否具有类似的访问管理功能?

根据文档,这似乎是不可能的:

还有一些用例中,服务器希望指示客户端重新授权,例如撤销某些权限。对此没有特殊机制;您可以使用通常用于与客户端通信的任何机制来告诉客户端调用authorize((,例如通过客户端正在侦听的Ably通道发送的消息。如果所有其他操作都失败,您可以等待令牌到期,此时客户端将被迫从您的身份验证服务器中寻找新的令牌。(您可以指定令牌在创建时的有效期;默认值为一小时(。

来源:https://support.ably.com/support/solutions/articles/3000056545-recommendations-for-incrementally-authorising-new-capabilities

我可能没有完全理解这个问题,但Ably确实有能力在每个通道级别上提供细粒度的权限。它的工作方式是向API密钥授予功能,并将API密钥范围界定为通道,更多信息请参见常见问题解答。

所以你可以:

  • 创建一个名为Channel A Pub的API密钥,只有发布Channel A的功能
  • 创建一个名为通道A Sub的API密钥,该密钥仅具有订阅信道A功能
  • 创建名为Channel B Pub+Sub的API密钥,同时使用发布&订阅功能到通道B

这确实需要您的应用程序使用多个API键,并为每个键创建多个Realtime/REST实例。

API密钥的创建现在可以在运行时完成,因为Control API已经可用。这允许创建应用程序、密钥、队列和集成规则。

此外,还有一个令牌撤销API,可用于撤销API密钥。

Ably现在有一个令牌撤销API。https://ably.com/docs/core-features/authentication#token-撤销

相关内容

  • 没有找到相关文章

最新更新