Не удается получить пользовательский геттер в AuthenticationSuccessEvent - PullRequest
1 голос
/ 09 марта 2020

Я пытался сохранить пользовательские данные 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

но когда я попытался обновить sh токен, я получил symfony ошибку:

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

refresh token

Результат дд ($ user):

dump user

1 Ответ

1 голос
/ 09 марта 2020

Вы пытаетесь вызвать метод getGsm для класса Symfony User, когда вы фактически пытаетесь сохранить данные GSM.

Убедитесь, что вы работаете с правильным пользователем, и вам нужно будет использовать setGsm вместо.

...