在 api 网关 websockets 中仅授权 $connect rout 是否足够?
Is it enough to authorise only $connect rout in api gateway websockets?
我正在使用由 api 网关和 lambda 提供支持的 websocket api。我需要实施自定义授权器(即检查由我们的自定义解决方案创建的用户令牌的 lambda 函数)。
我是否正确,我只需要授权 $connect
请求并假设所有后续消息和断开连接请求都是安全的并且来自同一用户?
我试图考虑这里的缺点,我想到的唯一一个是我们的令牌是短暂的,即它们会在 15 分钟后过期和更新,我们可以在应用程序中遇到用户连接时间比这更长的情况.
所以理论上杂草需要对所有消息进行授权,但这似乎适得其反并且代价高昂。
对我来说,假设来自单个 WebSocket 的所有请求都来自单个客户端似乎是安全的。如果其中一个请求被授权,应该是好的。
如果我知道 how/when 生成和使用令牌,我将能够更好地评论令牌部分。
如果您的其他功能因令牌已过期而失败,您可能需要 return 适当的响应,以便您只需从 UI 注销而不是失败。
您可能希望在前端放置令牌更新机制,以便活跃用户始终拥有有效令牌。
我正在使用由 api 网关和 lambda 提供支持的 websocket api。我需要实施自定义授权器(即检查由我们的自定义解决方案创建的用户令牌的 lambda 函数)。
我是否正确,我只需要授权 $connect
请求并假设所有后续消息和断开连接请求都是安全的并且来自同一用户?
我试图考虑这里的缺点,我想到的唯一一个是我们的令牌是短暂的,即它们会在 15 分钟后过期和更新,我们可以在应用程序中遇到用户连接时间比这更长的情况.
所以理论上杂草需要对所有消息进行授权,但这似乎适得其反并且代价高昂。
对我来说,假设来自单个 WebSocket 的所有请求都来自单个客户端似乎是安全的。如果其中一个请求被授权,应该是好的。
如果我知道 how/when 生成和使用令牌,我将能够更好地评论令牌部分。 如果您的其他功能因令牌已过期而失败,您可能需要 return 适当的响应,以便您只需从 UI 注销而不是失败。
您可能希望在前端放置令牌更新机制,以便活跃用户始终拥有有效令牌。