在AuthenticationSuccessEvent中无法获取用户获取方法

时间:2020-03-09 13:55:31

标签: symfony refresh-token lexikjwtauthbundle

我尝试在身份验证成功事件后保存用户gsm数据:

 /**
     * @param AuthenticationSuccessEvent $event
     */
    public function onAuthenticationSuccessResponse(AuthenticationSuccessEvent $event)
    {
        $data = $event->getData();
        $user = $event->getUser();
        dd($user);
        $gsm = isset(\json_decode($this->requestStack->getCurrentRequest()->getContent())->gsm) ? \json_decode($this->requestStack->getCurrentRequest()->getContent())->gsm : null;

        if ($user->getGsm()) { // <------   get user GSM 
            ...
        } else {
            ...
        }


        $event->setData($data);
    }

当我尝试生成令牌时,它工作正常:

generate token

但是当我尝试刷新令牌时 我遇到了symfony错误:

Attempted to call an undefined method named "getGsm" of class "Symfony\Component\Security\Core\User\User".

refresh token

dd($ user)的结果是:

dump user

1 个答案:

答案 0 :(得分:1)

您实际上是在尝试保存GSM数据时,尝试在Symfony User类上调用getGsm方法。

确保使用正确的用户,并且需要使用setGsm。

相关问题