首页 > 解决方案 > 在javascript存储(cookie,本地存储)中存储OAuth2状态参数是否安全?

问题描述

我有带有 javascript 前端和无状态后端的 web 应用程序。我需要通过 OAuth2 授权用户。当我将用户重定向到 OAuth2 提供者时,我需要将状态参数绑定到请求以防止CSRF 攻击。当 OAuth2 提供者将用户重定向回我的应用程序时,我需要检查状态参数是否相同。我不能在后端存储状态参数,因为它是无状态的。将 OAuth2 状态参数存储在某些 javascript 存储中是否安全?

标签: oauth-2.0

解决方案


SPA 的常用技术是通过 HTML5 会话存储将状态参数存储在浏览器中,并在收到响应时将其删除。它只是一个不可猜测的值,每次重定向都会改变。

几个相关链接:

出于兴趣,上述广泛使用的认证库使用了这种行为。


推荐阅读