google developers developer credenciales apis android firebase google-authentication

developers - Error de inicio de sesión de Google com.google.android.gms.common.api.ApiException: 10:



google cloud credentials (5)

Así que estoy atascado en este tema frustrante. Soy bastante nuevo en Google Auth en Firebase, pero hice todo lo que se indica en la documentación de Firebase sobre cómo integrar la autenticación de inicio de sesión en Google, pero todavía recibo este extraño error en la consola que consta de dos partes:

12-03 11:07:40.090 2574-3478/com.google.android.gms E/TokenRequestor: You have wrong OAuth2 related configurations, please check. Detailed error: UNREGISTERED_ON_API_CONSOLE

y también

Google sign in failed com.google.android.gms.common.api.ApiException: 10:

Antes de que alguien intente señalar preguntas similares que se hayan formulado anteriormente sobre el desbordamiento de pila, esto es lo que he hecho hasta ahora, después de haber visto todas las soluciones disponibles y aún no ha resuelto el error

  • Tengo mi huella dactilar SHA1 para mi proyecto
  • Tengo mi ID de cliente de OAuth 2.0, tanto la ID de cliente de Android como el cliente web y en el requestIdToken () puse la ID de cliente web .
  • No publiqué la APK de mi proyecto en google play store. lo que significa que no generé accidentalmente otra huella digital SHA1.
  • He seguido paso a paso el inicio de sesión en Google Autenticación de documentos de base de datos.

Aquí está mi fragmento de código:

@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_signup); ButterKnife.bind(this); String webClientId = getString(R.string.web_client_id); GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) .requestEmail() .requestIdToken(webClientId) .build(); mGoogleApiClient = new GoogleApiClient.Builder(this) .enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */) .addApi(Auth.GOOGLE_SIGN_IN_API, gso) .build(); mGoogleSignInClient = GoogleSignIn.getClient(this, gso); GoogleSignInAccount account = GoogleSignIn.getLastSignedInAccount(this); googleLoginBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent signInIntent = mGoogleSignInClient.getSignInIntent(); startActivityForResult(signInIntent, RC_SIGN_IN); } }); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); // Result returned from launching the Intent from GoogleSignInClient.getSignInIntent(...); if (requestCode == RC_SIGN_IN) { // The Task returned from this call is always completed, no need to attach // a listener. Task<GoogleSignInAccount> task = GoogleSignIn.getSignedInAccountFromIntent(data); try{ GoogleSignInAccount account = task.getResult(ApiException.class); firebaseAuthWithGoogle(account); } catch (ApiException e) { // Google Sign In failed, update UI appropriately Log.w(TAG, "Google sign in failed", e); // [START_EXCLUDE] Toast.makeText(this, "Gooogle Auth failed", Toast.LENGTH_LONG); // [END_EXCLUDE] } } } private void firebaseAuthWithGoogle(GoogleSignInAccount acct) { Log.d(TAG, "firebaseAuthWithGoogle:" + acct.getId()); // [START_EXCLUDE silent] //showProgressDialog(); // [END_EXCLUDE] AuthCredential credential = GoogleAuthProvider.getCredential(acct.getIdToken(), null); mAuth.signInWithCredential(credential) .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { if (task.isSuccessful()) { // Sign in success, update UI with the signed-in user''s information Log.d(TAG, "signInWithCredential:success"); FirebaseUser user = mAuth.getCurrentUser(); Toast.makeText(LoginActivity.this, "Successful Auth", Toast.LENGTH_LONG).show(); } else { // If sign in fails, display a message to the user. Log.w(TAG, "signInWithCredential:failure", task.getException()); Toast.makeText(LoginActivity.this, "Authentication failed.", Toast.LENGTH_SHORT).show(); //updateUI(null); } // [START_EXCLUDE] //hideProgressDialog(); // [END_EXCLUDE] } }); }


Al utilizar la Firma de aplicaciones de Google Play y Firebase , debe agregar la huella digital SHA-1 del certificado de firma de la aplicación (que se encuentra en la Consola de Google Play / Certificado de firma de aplicaciones / Firma) a la Consola / Configuración de Firebase / Configuración / Huellas digitales de certificados de SHA


Básicamente, el problema está en la clave SHA1 encuentra en la consola, vuelva a generarla y vuelva a colocarla correctamente en el mismo proyecto.

1) Como respuesta, asegúrese de que su apk Android firmado real tenga la misma huella digital SHA1 que la especificada en la consola de la sección de integración de Android de su proyecto Firebase (la página donde puede descargar google-services.json )

2) Además de eso, vaya a la Configuración de su proyecto de base de fuego (el ícono del engranaje está a la Vista general en el área superior izquierda. Luego, cambie a la pestaña Vinculación de la cuenta. En esa pestaña vincule Google Play con su proyecto.


En mi caso, no hay problema con SHA-1

He hecho GoogleAuth utilizando Firebase .

Olvidé agregar la implementation ''com.firebaseui:firebase-ui-auth:4.3.1''

Y puse mi propia clave en lugar de R.string.default_web_client_id , así que ese fue el problema. R.string.default_web_client_id dependencia anterior y reemplacé R.string.default_web_client_id con mi propia clave.

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) .requestIdToken(getString(R.string.default_web_client_id)) .requestEmail() .build();


Enfrenté el mismo problema. Después de buscar una solución, de regenerar la huella dactilar a vincular la aplicación en base de fuego a la consola de Google Play y publicar la apk firmada, el problema era en realidad porque estaba usando la versión SHA-1 en La consola base de fuego.

  • Si aún está en modo de debut, use el debug.keystore SHA1
  • Utilice el lanzamiento SHA1 solo si está en modo de producción

https://developer.android.com/studio/publish/app-signing.html