Неопределенный метод «утверждения»

# #php #laravel #firebase #firebase-authentication

Вопрос:

В методе есть ошибка claims() . Что я хочу сделать, так это получить uid от проверенного токена (я думаю ?). Таким образом, в результате, где бы я ни пытался войти в систему (правильный адрес электронной почты и пароль), он всегда будет выдавать ошибку «Неправильный пароль».

 try {
            $user = $auth->getUserByEmail($request->email);

            try {
                $signInResult = $auth->signInWithEmailAndPassword($request->email, $request->password);
                $idTokenString = $signInResult->idToken();

                try {
                    $verifiedIdToken = $auth->verifyIdToken($idTokenString);
                    $uid = $verifiedIdToken->claims()->get('sub');

                    $_SESSION['verified_user_id'] = $uid;
                    $_SESSION['idTokenString'] = $idTokenString;

                    $_SESSION['status'] = "Logged in successfully";

                    return redirect()->route('userHome');
                } catch (InvalidToken $e) {
                    echo 'The token is invalid: ' . $e->getMessage();
                } catch (InvalidArgumentException $e) {
                    echo 'The token could not be parsed: ' . $e->getMessage();
                }
                
            } catch (Exception $e) {

                $_SESSION['status'] = "Wrong password";
                return redirect()->route('login');
            }
        } catch (KreaitFirebaseExceptionAuthUserNotFound $e) {
            // echo $e->getMessage();
            $_SESSION['status'] = "Invalid Email Address";
            return redirect()->route('login');
        }
 

У кого-то здесь та же проблема, но он как бы путает, как они «используют» метод и почему они это делают.

Я пытаюсь прокомментировать код claims() и добавить еще одну строку кода :

 $uid = $signInResult->firebaseUserId(); 
 

и теперь он может успешно войти в систему, но повлияет ли это на дальнейшее развитие, если я не буду использовать $uid from $verifiedIdToken вместо firebaseUserid() ?

Комментарии:

1. метода не существует, вам придется создать его самостоятельно

2. но это здесь , и они находятся в одной упаковке ?

3. проверьте версию вашего пакета. переместите verifiedIdToken с попытки — возможно, токен не проверен и выдает исключение 401