如果我使用自定义令牌身份验证器并且无状态设置为 false,则 CSRF 令牌在 Symfony 表单中始终无效

CSRF token is always invalid in Symfony forms if I use custom token authenticator and stateless is set to false

提问人:sabat 提问时间:11/12/2023 更新时间:11/12/2023 访问量:17

问:

security.yaml(安全.yaml)

security:
  providers:
    my_user_provider:
      id: CustomUserProvider
  firewalls:
    main:
      provider: my_user_provider
      stateless: false
      custom_authenticators:
         authenticators: CustomAuthTokenAuthenticator

框架.yaml

framework:
  csrf_protection: true  
  session:
    handler_id: null
    cookie_secure: auto
    cookie_samesite: lax
    storage_factory_id: session.storage.factory.native

方案 1 - 用户未通过身份验证

所有形式的 csrf 令牌都没有问题。

方案 2 - 用户已通过身份验证,并设置为statelesstrue

所有形式的 csrf 令牌都没有问题。

方案 3 - 用户已通过身份验证并设置为statelessfalse

在网站上提交每个表单后,出现一个错误,即我的 CSRF 令牌无效。


如何保持 csrf 令牌处于启用状态并使用选项设置为 ?statelessfalse

我在 SF 6.x 和 5.x 上测试了它

交响乐团 CSRF

评论


答: 暂无答案