Firebase Android: une erreur interne s'est produite. [OPÉRATION NON AUTORISÉE]

la connexion via Google dans mon application donne cette erreur:

Une erreur interne s'est produite. [OPERATION_NOT_ALLOWED ]

J'ai activé Google dans la console Firebase. Les autorisations sont correctes, et je n'arrive pas à trouver le problème. Je suis sûr que ça n'a rien à voir avec mon code, mais s'il me le dit.

SignInactivity:

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.sign_in_button:
            signIn();
            break;
    }
}

private void signIn() {
    Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
    startActivityForResult(signInIntent, RC_SIGN_IN);
}

@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
    // An unresolvable error has occurred and Google APIs (including Sign-In) will not
    // be available.
    Log.d(TAG, "onConnectionFailed:" + connectionResult);
    Toast.makeText(this, "Google Play Services error.", Toast.LENGTH_SHORT).show();
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    // Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...);
    if (requestCode == RC_SIGN_IN) {
        GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
        if (result.isSuccess()) {
            // Google Sign In was successful, authenticate with Firebase
            GoogleSignInAccount account = result.getSignInAccount();
            firebaseAuthWithGoogle(account);
        } else {
            // Google Sign In failed
            Log.e(TAG, "Google Sign In failed.");
        }
    }
}

private void firebaseAuthWithGoogle(GoogleSignInAccount acct) {
    Log.d(TAG, "firebaseAuthWithGooogle:" + acct.getId());
    AuthCredential credential = GoogleAuthProvider.getCredential(acct.getIdToken(), null);
    mFirebaseAuth.signInWithCredential(credential).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {

       @Override
       public void onComplete(@NonNull Task<AuthResult> task) {
           Log.d(TAG, "signInWithCredential:onComplete:" + task.isSuccessful());

           // If sign in fails, display a message to the user. If sign in succeeds
           // the auth state listener will be notified and logic to handle the
           // signed in user can be handled in the listener.
           if (!task.isSuccessful()) {
               Log.w(TAG, "signInWithCredential", task.getException());
               Toast.makeText(SignInActivity.this, "Authentication failed: " + task.getException(),
                       Toast.LENGTH_SHORT).show();
           } else {
               startActivity(new Intent(SignInActivity.this, MainActivity.class));
               finish();
           }
       }
    );
}
16
demandé sur Peter Mortensen 2016-06-14 18:16:41

6 réponses

j'ai eu le même problème. J'ai eu la solution dans le post sur le forum [Google Auth] com.Google.firebase.FirebaseException: une erreur interne est survenue.

cela m'est arrivé quand je n'avais pas la méthode d'authentification activée dans la base de données Firebase de la console. Lorsque J'ai activé l'authentification Google, j'ai eu la même exception, juste sans [OPERATION_NOT_ALLOWED].

33
répondu Ismael Junior 2016-07-10 15:01:20
  1. https://console.firebase.google.com/
  2. Sélectionnez votre projet.
  3. cliquez sur Authentification à partir de l'option menu
  4. Cliquez sur le SIGNE-DANS-la MÉTHODE
  5. cliquez sur Google et activez-le.

Que cela fonctionne très bien :)

11
répondu Dev 2016-10-26 08:10:51

activez la méthode SIGN-in-METHOD sur console firebase lequel vous allez l'utiliser ou que vous utilisez dans votre APPLICATION.

0
répondu M. Ashish 2017-02-13 10:09:44

si vous vous inscrivez avec un courriel et un mot de passe, suivez les étapes ci-dessous.

Go to https://console.firebase.google.com/
Select your project.
Click on Authentication from menu option(Right-side menu)
Click on SIGN-IN-METHOD
Click on Email/Password and enable it.
Click on SAVE.
0
répondu ViramP 2017-04-12 08:40:40

finalement j'ai trouvé la solution qui a fonctionné pour moi. Le fait est que même lorsque vous avez mis en place avec succès la méthode email+password auth vous devez créer une application mobile(dans mon cas) et l'associer à votre projet. Après cela FireBase fonctionnera comme prévu.

0
répondu pinkfloyd 2017-08-28 02:45:01

Aller sur Google "https://console.developers.google.com/apis/library/" de votre projet et de permettre l'Identité Trousse à outils API

0
répondu Amit Walke 2018-04-06 19:20:51