在api网关websocket中只授权$connect路由就足够了吗



我使用的是由api网关和lambdas提供支持的websocket api。我需要实现自定义授权程序(即lambda函数,用于检查我们的自定义解决方案创建的用户令牌(。

我只需要授权$connect请求,并假设所有后续消息和断开连接请求都是安全的,并且来自同一用户,这是正确的吗?

我想了想这里的缺点,我唯一想到的是我们的代币寿命很短,即它们在15分钟后到期并续订,我们在应用程序中可能会遇到用户连接时间比这更长的情况。

因此,理论上杂草需要授权所有信息,但这似乎适得其反,成本高昂。

对我来说,假设来自单个WebSocket的所有请求都来自单个客户端似乎是安全的。事实上,如果浏览器关闭,连接就会关闭。如果其中一个请求得到授权,应该是好的。

将记录器添加到默认的$disconnect(通过简单的lambda或直接(以获得更好的画面。

如果我知道令牌是如何/何时生成和使用的,我将能够更好地评论令牌部分。如果您的其他功能由于令牌已过期而失败,您可能希望返回适当的响应,以便您只需从UI注销而不是失败。

您可能希望在前端设置一个令牌续订机制,以便活动用户始终拥有有效的令牌。

最新更新