Я полностью застрял в задаче заставить Firebase Authentication работать локально на моем симуляторе.
Раньше это работало, но из-за изменения среды мне пришлось перенастроить его .
К настоящему моменту я уже пять раз проверил правильность значений SHA1 и SHA256 в проекте Firebase.
SHA1: 90:3c:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:84 
SHA256: 32:c2:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:c1
Из google-service.json я беру client_id, который соответствует хешу сертификата как таковой:
{
"client_id": "12345667890-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.example.development",
"certificate_hash": "903cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx84"
}
},
В моем реагирующем приложении я использую жестко закодированное значение:
useEffect(() => {
GoogleSignin.configure({
scopes: ['email'],
webClientId: '12345667890-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com',
});
}, []);
Но я продолжаю получать эту DEVELOPER_ERROR без какой-либо дополнительной информации о том, в чем на самом деле проблема.
Я где-то покраснел, это мы не должны использовать этот идентификатор клиента, вместо этого я должен взять идентификатор «веб-клиента» (client_type: 3):
{
"client_id": "1234567890-yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy.apps.googleusercontent.com",
"client_type": 3
}
но это ничего не изменило.
Получение значений SHA1 и SHA256
Для моего локального build, я запускаю
keytool -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore
что дает тот же результат, что и запуск
cd android/ && ./gradlew signingReport
Подробнее здесь: https://stackoverflow.com/questions/791 ... -authentic