Я пытаюсь использовать пакет flutter credential_manager для реализации «Входа с помощью Google» (только для устройств Android), но не могу заставить его работать успешно. На данный момент я пропускаю части «Учетные данные на основе пароля» и «Пароль» и не уверен, что это вызывает проблему. Часть документации «Использование» не совсем понятна, там написано: «Зарегистрируйтесь, используя учетную запись Google, и тогда вы сможете увидеть сохраненные учетные данные в приложении».
Код: Выделить всё
try{
final GoogleIdTokenCredential credential = await credentialManager.saveGoogleCredential(
useButtonFlow: false
);
} on CredentialException catch (e) {
// Handle the error
print('Error saving Google credential: ${e.message}');
}
Что означает «Зарегистрируйтесь с помощью учетной записи Google..»? Я предполагаю, что это означает, что устройство заранее зарегистрировано в учетной записи Google вне моего приложения, поскольку в документации о регистрации ничего не упоминается. И я просто вызываю credentialManager.saveGoogleCredential() напрямую, но получаю в консоли ошибку «ошибка входа». Появляется экран выбора моей учетной записи Google, но после этого ничего не происходит, кроме ошибки. Если я позвоню
Код: Выделить всё
await credentialManager.getCredentials(
fetchOptions: credential_manager.FetchOptionsAndroid(googleCredential: true),
);
Я получаю сообщение об ошибке «Учетные данные не найдены» в консоли.
Хотя документация по встроенной реализации Credential Manager для Android более полна, я Я пытаюсь избежать реализации собственного кода Android/Kotlin, поскольку у меня нет опыта в этом. Это может быть крайним средством, поскольку кто-то написал довольно хорошее руководство по YouTube.
Я также использую Firebase Auth для входа в систему по электронной почте/паролю, который я уже реализовал, если кто-нибудь есть советы по диспетчеру учетных данных + Firebase Auth, это тоже будет полезно. Благодарим всех за помощь!
Пакет Credential Manager flutter
Подробнее здесь:
https://stackoverflow.com/questions/792 ... ith-google