Symfony 在用户检查器中返回自定义状态代码

Symfony 在用户检查器中返回自定义状态代码,symfony,symfony-4.4,Symfony,Symfony 4.4,我正在使用Symfony 4.4。 我正在使用JWT身份验证,现在正在创建一个自定义用户检查器: 当用户检查器检测到用户无法连接时,我想返回一个自定义响应代码和一条自定义消息 security.yaml: 用户检查器: 使用此用户检查器,在客户端未激活时响应: { "code": 401, "message": "An authentication exception occurred." } 我只想自定义代码和消息。如果您只想更新响应,您应该创建一个listiner来处理失败身份验证: c

我正在使用Symfony 4.4。 我正在使用JWT身份验证,现在正在创建一个自定义用户检查器: 当用户检查器检测到用户无法连接时,我想返回一个自定义响应代码和一条自定义消息

security.yaml: 用户检查器: 使用此用户检查器,在客户端未激活时响应:

{
"code": 401,
"message": "An authentication exception occurred."
}

我只想自定义代码和消息。

如果您只想更新响应,您应该创建一个listiner来处理失败身份验证:


class UserChecker implements UserCheckerInterface
{
    public function checkPreAuth(UserInterface $user)
    {
        return;
    }

    public function checkPostAuth(UserInterface $user)
    {
        if (!$user instanceof Client) {
            return;
        }

        if (!$user->isActive()) {
            throw new AuthenticationException('userNotActive');
        }
    }
}
{
"code": 401,
"message": "An authentication exception occurred."
}