【问题标题】:How to protect an Auth0 authenticated REST service from XSRF and Session Hijacking?如何保护 Auth0 认证的 REST 服务免受 XSRF 和会话劫持?
【发布时间】:2019-02-05 19:07:05
【问题描述】:

常见情况:SPA + REST。如果要放弃 Auth0 并使用 JWT 对 Web 用户进行身份验证,则必须将服务器在登录时提供的 XSRF 令牌存储在 cookie 中,并将其与 JWT 一起发送到请求标头中。

在相关的官方 Auth0 指南https://auth0.com/docs/architecture-scenarios/spa-api 中,根本没有提到 XSRF 令牌。如果有人从用户那里窃取了访问令牌怎么办?他们是否可以为该用户访问我的 REST API?

Auth0 有另一个指南 Preventing Cross-site Request Forgery (XSRF or CSRF),但它出奇地简短,而且我没有看到它如何解决我描述的问题。

【问题讨论】:

    标签: csrf auth0 session-hijacking


    【解决方案1】:

    Auth0 用来防止 CSRF 攻击的策略是使用nonce,他们称之为state parameter。此state 与身份验证请求一起生成,然后用于将请求与从身份验证接收到的响应相关联。 (来自Auth0 docs on how to mitigate CSRF attacks)

    相关信息from the Auth0 docs on the state parameter

    与即将启动的每个身份验证请求相关联的唯一且不可猜测的值。正是这个独特且不可猜测的值允许您通过确认来自响应的值是否与您期望的值(您在发起请求时生成的值)匹配来防止攻击。

    如果您在 SPA 中使用 Auth0.js,则会自动为您处理此随机数或状态生成和验证。

    【讨论】:

      猜你喜欢
      • 2011-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多