提问人:Matthias M 提问时间:9/7/2023 最后编辑:Matthias M 更新时间:11/9/2023 访问量:37
SPA:客户端会话处理与 PKCE 的 OAuth 授权代码流相结合
SPA: Client Side Session Handling in Combination with OAuth Authorization Code Flow with PKCE
问:
我们有一个单页应用程序 (SPA) 和 OAuth 身份验证。
我们将授权代码流与 PKCE 一起使用,因为它被认为是最安全的客户端身份验证方法。 但 OAuth 仅与身份验证有关。
考虑
- 安全的会话管理怎么样?我该如何确保OAuth令牌不会被盗?
- 在经典的 Web 应用程序中,我们使用带有安全、仅限 http 和相同站点策略标志的 cookie。
- 一种模式可以是前端模式的后端。但是我们希望有一个纯粹的前端应用程序。
- CSP 可能会有所帮助。但是,如果没有100%配置,仍然会有漏洞。此外,我们还有一些(受信任的)第三方代码要包含,这将导致复杂的 CSP 配置。
- 当然,我们关心XSS。但我们也认为,我们永远无法保证,该应用程序是 100% XSS 安全的。
溶液?
关于OAuth本身有很多最佳实践,但即使是OWASP会话管理备忘单也没有给出如何在SPA中存储令牌的精确建议。
我们的解决方案可能是将令牌存储在浏览器会话存储中。这应该可以防止 CSS 攻击(我们没有用户生成的内容,因此应该没有存储的 XSS)。
最后的问题
- 浏览器会话存储是否安全用于存储令牌?
- 可能进行哪些攻击?
- 必须采取哪些对策?
答:
评论