如何使用 Node.js 为 OAuth 中的“state”参数生成一个随机的、不可猜测的字符串?

问题描述 投票:0回答:0

我正在构建一个简单的网站,并希望实施 OAuth 进行身份验证。

我读到在授权请求中包含一个“状态”参数对于防止 CSRF 攻击是必要的。但是,我不确定我使用状态参数实现 CSRF 攻击保护的实现是否正确。

为了防止 CSRF 攻击,我正在考虑以下方法:

  1. 生成一个随机字符串。
  2. 加密字符串并将其存储在 httpOnly cookie 中,以便我以后可以检索它。
  3. 散列字符串并将散列作为状态传递给授权服务器。
  4. 当授权服务器将“state”参数传回回调 URL 时,将哈希值与从 cookie 中检索到的原始字符串进行比较。

任何指导或示例将不胜感激。谢谢!

node.js oauth-2.0 oauth google-oauth facebook-oauth
© www.soinside.com 2019 - 2024. All rights reserved.