Последние два дня я пытался устранить ошибку GoogleSignInException (GoogleSignInExceptionCode.UNKNOWN_ERROR, [28444], консоль разработчика настроена неправильно, ноль). Я пробовал другие решения на GitHub и StackOverflow, но они не помогли. В настоящее время я работаю над созданием входа с помощью кнопки Google, но когда я выбираю учетную запись и выполняю метод _googleSignIn.authenticate(), возникает эта ошибка.
Я уже попробовал все доступные значения ключей jks sha1 (как мои, так и из Android Studio) для замены в клиенте Google Cloud OAuth (я создал несколько таких клиентов oauth2 Cloud console со всеми возможными sha1 и попробовал каждый идентификатор клиента соответственно!), но ошибка не устранена. На снимке экрана показана часть хеша JKS Android по умолчанию, который я сейчас использую, но он также не работает. В моем проекте я использую только Flutter google_sign_in: ^7.2.0, свои собственные jks (но теперь jks по умолчанию для Android Studio) и Google Cloud Console (НЕ FIREBASE!) для входа в систему. Возможно, я пропустил некоторые настройки API в Cloud Console. По советам на Github я попытался создать веб-клиент, а не Android, что тоже не решило проблему.
вывод gradlew SigningReport
На всякий случай уточню, что возможно я действительно что-то не правильно настроил в самой консоли (исходя из того, что я вроде перепробовал все локальные решения), так как Cloud API меняется слишком часто, а все гайды и решения на Интернет становится неактуален (соответственно, я жду от вас актуального решения, а не ссылки на ответ на аналогичный вопрос).
final String serverClientId_release = // Also tried
"..............apps.googleusercontent.com";
final serverClientId_debug = "..............apps.googleusercontent.com";
final _tokensStorage = FlutterSecureStorage();
Future _initialize() async {
await _googleSignIn.initialize(serverClientId: serverClientId_debug);
_firtsLoad = false;
}
Future _getAcessToken() async { // The error is caused here
final GoogleSignInAccount gUser = await _googleSignIn.authenticate();
final GoogleSignInClientAuthorization gAuth = await gUser.authorizationClient.authorizeScopes(
_scopes, // only "openid" here now
);
await _sendInfoToBackend(gUser: gUser, gAuth: gAuth);
await _writeAccessToken(accessToken: gAuth.accessToken);
return gAuth.accessToken;
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... -correctly