无法在AuthenticationSuccessEvent中获得用户获取器

问题描述 投票:0回答:1

我尝试在身份验证成功事件后保存用户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

symfony refresh-token lexikjwtauthbundle
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.