首页 > 解决方案 > Symfony 5.2 验证 json_login 请求

问题描述

我正在 Symfony 5.2 中开发一个 RESTFUL API,它允许用户使用用户名和密码进行身份验证才能访问它。

我的防火墙配置如下:

        login:
            pattern: '^/v1/login'
            methods: [POST]
            anonymous: true
            stateless: true
            provider: user_provider
            user_checker: App\Security\UserChecker
            json_login:
                check_path: '/v1/login'
                success_handler: App\Security\Handler\AuthenticationSuccessHandler
                failure_handler: lexik_jwt_authentication.handler.authentication_failure

我创建了一个验证器和一个匹配的路由,以便我可以确保用户提交有效数据,例如不提交空密码:

v1_login:
    path: /v1/login
    methods: POST
    controller: App\Http\Token\Action\LoginAction
    defaults:
        _format: json

我所有的其他路由都以与验证器相同的方式设置,但没有调用此路由。我认为 Symfony 忽略了这一点,并使用 user_provider、user_checker 和成功处理程序来管理这一切。但这意味着我无法先验证请求。

还有什么我需要做的吗?

标签: symfonyjwtsymfony-validator

解决方案


推荐阅读