Estoy trabajando en una aplicación nativa de reacción y quiero dar a mis usuarios la posibilidad de iniciar sesión con google. Pero, cuando realizo la solicitud a la API de Google, devuelve WRONG SIGNIN Error: DEVELOPER_ERROR .
Estoy usando AWS Cognito y quiero integrar el inicio de sesión de Google con él. Vi algunas preguntas que decían generar un plano SHA-1 de mi "webClientId", pero todas usan firebase. En Cognito, no hay ningún campo para agregar el plano técnico SHA-1 respectivo.
Mi código es el siguiente:
componentWillMount() { GoogleSignin.configure({ webClientId: googleConfig.clientId }); } ... googleSignIn() { GoogleSignin.signIn() .then((user) => { console.log(user); this.setState({user: user}); }) .catch((err) => { console.log('WRONG SIGNIN', err); }) .done(); } ... <GoogleSigninButton style={{ height: 48 }} size={GoogleSigninButton.Size.Standard} color={GoogleSigninButton.Color.Light} onPress={this.googleSignIn.bind(this)}/>Gracias de antemano por la ayuda.
Esta es una discrepancia de configuración. Asegúrese de que su android/app/google-services.json sea correcto.
Es posible que deba agregar la huella digital de su certificado SHA a su configuración de Firebase. Encuentre su huella digital SHA1 siguiendo las instrucciones de esta publicación: Huella digital SHA-1 del certificado de almacén de claves . Luego, vaya a https://console.firebase.google.com/ , seleccione su aplicación y agregue el valor SHA1 en Configuración del proyecto (icono de engranaje en la parte superior izquierda) -> Sus aplicaciones -> Huellas digitales del certificado SHA
Si está pasando webClientId en el objeto de configuración a GoogleSignin.configure(), asegúrese de que sea correcto. Puede obtener su webClientId desde Google Developer Console. Se enumeran en "ID de cliente de OAuth 2.0".
Si está ejecutando su aplicación en modo de depuración y no usa webClientId o está seguro de que es correcto, el problema podría ser una discrepancia de firma (SHA-1 o SHA-256). Debe agregar lo siguiente a android/app/build.gradle:
signingConfigs { debug { if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) { storeFile file(MYAPP_RELEASE_STORE_FILE) storePassword MYAPP_RELEASE_STORE_PASSWORD keyAlias MYAPP_RELEASE_KEY_ALIAS keyPassword MYAPP_RELEASE_KEY_PASSWORD } } release { if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) { storeFile file(MYAPP_RELEASE_STORE_FILE) storePassword MYAPP_RELEASE_STORE_PASSWORD keyAlias MYAPP_RELEASE_KEY_ALIAS keyPassword MYAPP_RELEASE_KEY_PASSWORD } } }
Eso es de aquí .
También encontré este ejemplo de trabajo en github.
GoogleAuthUtil.GetTokenGoogleAuthUtil.GetToken(this, googleAccount, scopes) . Eso es scopes = "audience:server:client_id:" + "webClientId"