webentwicklung-frage-antwort-db.com.de

Anmeldefehler: Beim Anmelden bei dieser Anwendung ist ein Fehler aufgetreten. Bitte versuchen Sie es später noch einmal

Ich erhalte diesen Fehler. Wenn ich versuche, mich mit Facebook bei meiner App anzumelden. Wenn ich das erste Mal authentifiziere, wird es korrekt funktionieren. Nachdem ich meine Bewerbung deinstalliert habe und mich nun bei Facebook anmelden möchte, wird dieser Fehler angezeigt.

Ein weiteres Problem : Nach der Authentifizierung in Gerät1 und dem Versuch, sich mit Facebook auf Gerät2 anzumelden, wird ebenfalls der gleiche Fehler angezeigt.

Lösung, die ich gefunden habe: Wenn ich die App-Authentifizierung aus den Facebook-App-Einstellungen entferne, funktioniert sie in den obigen Szenarien, aber dies ist keine gute Lösung, wie wir den Benutzern mitteilen können diese Aktion zu tun?

btnFbLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(accessToken != null) {
                    boolean expires = accessToken.isExpired();
                    if(!expires) {
                        performFbLoginOrSignUp(accessToken);
                    }
                } else {
                    LoginButton loginButton = (LoginButton) findViewById(R.id.login_button);
                    callbackManager = CallbackManager.Factory.create();

                    if (loginButton != null) {
                        loginButton.setReadPermissions("public_profile", "email", "user_friends");

                        if (CommonUtil.isConnectingToInternet(LoginActivity.this)) {
                            loginButton.performClick();

                            loginButton.setPressed(true);

                            loginButton.invalidate();

                            loginButton.registerCallback(callbackManager, mCallBack);

                            loginButton.setPressed(false);

                            loginButton.invalidate();
                        } 
                    }
                }
            }
        });

Error page

In Facebook Beispiel auch ein Problem: GitHub Link von Facebook Beispiel

Schritte zum Reproduzieren:

  1. App starten Mit Facebook anmelden FB-Profil authentifizieren.

  2. Deinstallieren Sie die App und installieren Sie sie erneut.

  3. Versuchen Sie nun, sich mit Facebook anzumelden.

  4. Der obige Fehler wird auftreten. weil wir uns bereits authentifiziert haben, müssen wir auf fb profile zugreifen. aber hier stehen wir vor dem Problem.
  5. Hier wird die bereits authentifizierte Seite nicht angezeigt.
  6. Ich verwende die Native FB-App mit dem Gerät Xiaomi Redmi Note 3
31
Naveen Kumar M

Ich stelle auch dieses Problem gegenüber. Aktualisieren Sie Ihren Schlüsselhash auf Facebook

8
Lokesh Mehta

Der Fehler tritt aufgrund eines ungültigen Hashschlüssels auf.

Wir können den Hash-Schlüssel mit dem folgenden Befehl erstellen und aktualisieren hier unter Einstellungen-> Grundlegend -> Android HashKeys

keytool -exportcert -alias ADD_RELEASE_KEY_ALIASE_HERE -keystore ADD_UR_KEYSTORE_PATH_HERE | openssl sha1 -binary | openssl base64

Sie können den Relase Key Alias ​​Ihres Keystores bei Bedarf mit dem folgenden Befehl ermitteln:

keytool -list -keystore ADD_UR_KEYSTORE_PATH_HERE

Ich habe auch ein Problem mit dem obigen HashKey. Die Anmeldung funktioniert einwandfrei, wenn ich das Release-APK direkt auf dem Gerät installiere. Wenn ich das APK jedoch in den Play Store hochlade und die App aus dem Store installiere, wird derselbe Fehler angezeigt, dass die Anmeldung fehlgeschlagen ist. Das Update dafür lautet wie folgt:

  1. Gehen Sie zu Release Management hier
  2. Wählen Sie Release Management -> App Signing
  3. Der SHA1-Schlüssel wird im Hex-Format angezeigt. App-Signaturzertifikat.
  4. Kopieren Sie den SHA1 im Hex-Format und konvertieren Sie ihn in das Base64-Format. Sie können dies Link tun, ohne den SHA1: -Teil des Hex-Formats.
  5. Gehen Sie zur Facebook-Entwicklerkonsole und fügen Sie den Schlüssel (nach der Konvertierung in die Basis 64) in den Einstellungen -> Basis -> Schlüssel-Hashes hinzu.
9
SumiSadiq

Dies ist das Problem von Facebook. Bestätigt vom Facebook-Team.

enter image description here

Wir werden eine Lösung erwarten: innerhalb von 3 Tagen

2
Naveen Kumar M

Dieses Problem tritt auf, weil Sie die App bereits über Facebook authentifiziert haben und Ihr Code möglicherweise bei jeder Facebook-Authentifizierung (Suchen und Entfernen) enthält.

Folge diesen Schritten:

  1. Gehen Sie zu den Facebook-Einstellungen.

  2. Entfernen Sie Ihre App.

  3. Stellen Sie sicher, dass Sie die Facebook-Anmeldung auf der Facebook-Entwicklerseite hinzugefügt und die Client OAuth Anmeldung aktiviert haben.

  4. Wechseln Sie zu Ihrem Code und überschreiben Sie die Rückrufmethode:

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        mFacebookCallbackManager.onActivityResult(requestCode, resultCode, data);
        if (resultCode == RESULT_OK) {
            Intent secondActivityIntent = new Intent(this, RedirectActivity.class);
            startActivity(secondActivityIntent);
        }
    }
    
  5. Rufen Sie in der Oncreate-Methode das AccessToken auf:

    accessTokenTracker = new AccessTokenTracker() {
        @Override
        protected void onCurrentAccessTokenChanged(
                AccessToken oldAccessToken,
                AccessToken currentAccessToken) {
            // Set the access token using
            // currentAccessToken when it's loaded or set.
        }
    };
    
    // If the access token is available already assign it.
    accessToken = AccessToken.getCurrentAccessToken();
    
    if (accessToken != null && !accessToken.isExpired())
    {
        GraphRequest request = GraphRequest.newMeRequest(accessToken, new GraphRequest.GraphJSONObjectCallback() {
            @Override
            public void onCompleted(JSONObject object, GraphResponse response) {
                if(null != object) {
                    try
                    {
                        Intent i = new Intent(MainActivity.this, Feedback.class);
                        startActivity(i);
                        String email = object.getString("email");
                        String birthday = object.getString("birthday");
    
                    }
                    catch (Exception ex)
                    {
                        Toast.makeText(MainActivity.this, ex.toString(), Toast.LENGTH_SHORT).show();
                    }
                } else {
                    // call your authentication process
    
                }
            }
        });
        Bundle parameters = new Bundle();
        parameters.putString("fields", "id,name,birthday,link");
        request.setParameters(parameters);
        request.executeAsync();
    }
    
1

Für mich lag dieser genaue Fehler an ungültigen Berechtigungszeichenfolgen. Passiert auf iOS und Android.

1
Kyle Johnson

Das Problem für mich ist wirklich mit dem Hash-Schlüssel, es ist nicht gültig.

Ich hatte genau das gleiche Problem und es war sehr schwer zu diagnostizieren. Der Grund ist, dass Facebook den Hash-Schlüssel bei der ersten Anmeldung nicht überprüft und es scheint, dass der Schlüssel korrekt ist, aber in der Tat ist es nicht. Zweitens ist die Fehlermeldung einfach eine Idiokratie. Drittens ist die Lösung: versuchen Sie den folgenden Link, es hat mir geholfen.

Bessere Anweisungen zum Generieren eines gültigen Hash-Schlüssels

0
user732456
  1. App aus den Benutzereinstellungen in Facebook (Account) entfernen.

  2. Deinstalliere die App.

  3. Holen Sie sich den neuen Hash mit dem Release oder dem neuen Debug-Keystore. Verwenden Sie diesen Befehl:

    keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64
    
  4. Fügen Sie den neuen Hash auf dem Facebook-Dashboard hinzu.

0
mohamed sakr

Ich hatte das gleiche Problem.

Es war ein Fehler auf meiner Seite.

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64

Bei der Eingabe dieses Befehls wurde Enter keystore password:. Ich habe stattdessen die keyPasswordstorePassword angegeben und es wurde keine Fehlermeldung ausgegeben, stattdessen wurde ein anderer Hash generiert!

0
Touhidul Islam

Ich beziehe mich darauf,

https://developers.facebook.com/docs/Android/getting-started

oder fügen Sie einfach den folgenden Code in die Methode onCreate () ein, die den Schlüssel-Hash zurückgibt.

 // Add code to print out the key hash
try {
    PackageInfo info = getPackageManager().getPackageInfo(
            "com.facebook.samples.hellofacebook", 
            PackageManager.GET_SIGNATURES);
    for (Signature signature : info.signatures) {
        MessageDigest md = MessageDigest.getInstance("SHA");
        md.update(signature.toByteArray());
        Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
        }
} catch (NameNotFoundException e) {

} catch (NoSuchAlgorithmException e) {

}

Fügen Sie den obigen Code hinzu, um den Schlüssel abzurufen, den Sie speichern können

https://developers.facebook.com/docs/facebook-login/Android

hier. Jetzt wird es funktionieren.

Es hat bei mir funktioniert, die Hoffnung wird auch bei Ihnen funktionieren.

0
Gaurav Pawar

Ich hatte das gleiche Problem. Ich hatte meine Keyhashes perfekt definiert und stand immer noch vor dem gleichen Problem. Ich konnte mich nicht einmal zum ersten Mal einloggen.

Lösung für mein Problem war:

  1. Gehen Sie zum Dashboard Ihrer App hier

  2. Stellen Sie im linken Bereich unter der Registerkarte Produkte sicher, dass Sie eine Facebook-Anmeldung hinzugefügt haben. Wenn nicht, fügen Sie es dort hinzu.

Wenn alle Ihre anderen Konfigurationen vorhanden sind. Danach funktioniert es perfekt.

0
Android Mason

Ich hatte das gleiche Problem mit meinem Redmi Note 3. Getestet auf Samsung. Keine Probleme. Ich frage mich, ob es Redmi-spezifisch ist.

0
Ben Looi

Ich hatte das gleiche Problem und stellte fest, dass der von mir generierte Hash-Schlüssel zum Einfügen in die Facebook-Entwicklerkonsole nicht korrekt ist. Ich habe versucht, einen Hash-Schlüssel von einem anderen PC zu generieren, und wurde aufgefordert, ein Kennwort für diesen bestimmten Keystore einzugeben, was auf meinem PC nicht der Fall war. Stellen Sie also sicher, dass Sie beim Erstellen des Hash-Schlüssels zur Eingabe von Passwort für den Schlüsselspeicher aufgefordert werden, und fügen Sie diesen Hash-Schlüssel in die Facebook-Entwicklerkonsole ein.

Befehl zum Generieren des Hash-Schlüssels:

keytool -exportcert -alias TYPE ALIAS HERE -keystore KEY_STORE_FILE_PATH_HERE | openssl sha1 -binary | openssl base64
0
apurv thakkar

Ich hatte heute das gleiche Problem auf meinen Sites und stellte dann fest, dass ich die alte default_graph_version = v3.2 verwendete. Ich habe es auf den neuesten Stand gebracht:

default_graph_version = v4.0

Jetzt funktioniert alles wieder. Versuche es.

0
pdolinaj