Я не эксперт по флаттеру, но на основании найденных примеров здесь Единственное, что вам нужно для аутентификации для программной базы, это token_id
и access_token
, например, так:
final AuthCredential credential = GoogleAuthProvider.getCredential(
accessToken: googleAuth.accessToken,
idToken: googleAuth.idToken,
);
В соответствии с этим, для аутентификации в базе данных Firebase вам просто нужно добавить области входа в систему: 'email', 'profile' and 'openid'
или области действия: 'https://www.googleapis.com/auth/userinfo.email', 'https://www.googleapis.com/auth/userinfo.profile' and 'openid'
(обычно они совпадают в зависимости от используемой библиотеки). Затем с помощью полученного токена доступа вы можете использовать библиотеку firebase для аутентификации в firebase без повторной аутентификации. Дайте мне знать, если вам нужна дополнительная информация.
Редактировать:
Вы должны найти токен доступа, полученный Google, войти и передать информацию для входа в Firebase. Маркер доступа должен выглядеть примерно так. как это:
{
"access_token": "ya29.a0Adw1xekVMTQRK0_EAdr1PfiOS97Lnz-VCLTJHw7...",
"expires_in": 3599,
"refresh_token": "1//01iBd1CQsBUl2CgYIARAA...",
"scope": "https://www.googleapis.com/auth/userinfo.email openid",
"token_type": "Bearer",
"id_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjE31ZmY0ZTEwOTkxZDZiMGA..."
}