我正在为我的symfony项目创建PasswordLess api,方法如下:https://symfony.com/doc/5.4/security/login_link.html
我有多个防火墙:
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
install:
pattern: ^/installer
security: false
anonymous: true
login:
pattern: ^/user/(login|reset-request|send-email|check-email|auto-login)$
provider: chain_provider
anonymous: true
#login_link: # ERROR HERE
# check_route: login_check
# signature_properties: ['id']
main:
pattern: ^/
provider: chain_provider
form_login:
csrf_token_generator: security.csrf.token_manager
check_path: main_security_check
login_path: main_security_login
use_forward: true
logout:
path: main_security_logout
remember_me:
secret: "%env(APP_SECRET)%"
name: BAPRM
lifetime: 1209600 # stay logged for two weeks
samesite: 'lax'
anonymous: false
但是当我尝试配置它时,我得到了这个错误:
The old authentication system is not supported with login_link.
我怎么才能让它工作,我在这里错过了什么。
我正在使用Symfony 5.4
- 谢谢-谢谢
1条答案
按热度按时间mxg2im7a1#
如documentation中所述,您必须启用新的验证器系统才能使用登录链接。
只有在使用验证器系统时,Symfony才支持登录链接。在使用此验证器之前,请确保您已通过enable_authenticator_manager启用了它:false在您的security.yaml文件中。
因此,修改
security.yaml
以添加:enable_authenticator_manager: true
个如果您不使用它,例如,如果您使用guards,则必须将其替换为new system。