Я использую оболочку Firebase cordova-plugin-firebasex, но не думаю, что это имеет значение.
Я установил в своем проекте Firebase Google в качестве метода входа и создал Учетные данные Oauth веб-приложения в моей консоли Google Cloud и установите SHA1 мобильных приложений.
Я могу успешно войти в систему с помощью Google и получить токен из своего приложения Cordova (я также вижу вход в консоль Firebase успешен).
Мои проблемы связаны с проверкой токена. Я отправляю токен для проверки на свою серверную часть из мобильного приложения.
FirebasePlugin.authenticateUserWithGoogle('xxxx-yyyy.apps.googleusercontent.com', (credential) => {
FirebasePlugin.signInWithCredential(credential, () => {
FirebasePlugin.getCurrentUser(user => {
//Here i get the token via user.idToken and send to back end
});
});
});
Это полный ответ после входа в Google через Firebase.
creationTimestamp: 1719989281875
email: "xxxxxxxxx@gmail.com"
emailIsVerified: true
idToken: "eyJhbGciOiJSUzI1NiIs..."
isAnonymous: false
lastSignInTimestamp: 1719989281875
name: "xxxx yyyy"
photoUrl: "https://lh3.googleusercontent.com/a/xxxx"
providerId: "google.com"
providers: (2) [{…}, {…}]
uid: "xxxx"
В серверной части я использую клиент google-api-php. Я использую одни и те же учетные данные во внешней и внутренней части. Я выполнил эту ссылку
Я проверяю работу токена
$client = new \Google_Client(['client_id' => 'xxxx-yyyy.apps.googleusercontent.com']);
$payload = $client->verifyIdToken($token);
Но $payload всегда имеет значение false. Другой информации нет. Что я делаю не так? Как я могу проверить этот токен?
Я даже пытался проверить токен с помощью
https://www.googleapis.com/oauth2/v3/to ... ess_token=
Но результат
{
"error_description": "Invalid Value"
}
Подробнее здесь: https://stackoverflow.com/questions/787 ... -in-method