Ich arbeite bei Facebook und dies ist ein wichtiges Thema, das angegangen werden muss. Die andere Antwort auf diese Frage legt nahe, dass das Deaktivieren von SSO sehr schlecht ist und Ihre App für schädliche Apps öffnet, die die Facebook-Anmeldeinformationen Ihres Benutzers stehlen können.
Der Hack startet einen WebView-Dialog zu Facebook ohne SSO, und der Benutzer muss seine Anmeldeinformationen in diesen Dialog eingeben. Schädliche Apps können diese Informationen dann leicht stehlen. Es wird immer empfohlen, Facebook SSO korrekt zu implementieren, um sicherzustellen, dass Ihre App sicher ist und die sensiblen Daten Ihres Benutzers schützt.
Vor dem Hinzufügen dieser Fehlermeldung wird der Dialog automatisch ohne Warnung geschlossen und schlägt stillschweigend fehl. Wir haben diese Fehlermeldung hinzugefügt, um visuell anzuzeigen, dass ein Problem mit Ihrer App-Konfiguration in Ihrem Facebook-App-Dashboard vorliegt. Wenn Sie unter Android Ihre LogCat überprüfen, werden Sie feststellen , dass nach dem Drücken von "Okay" eine Fehlermeldung angezeigt wird, die eine technischere Beschreibung der Ursache für das Fehlschlagen der Authentifizierung enthält.
Wenn Sie beispielsweise unser Hackbook-Beispiel verwenden und keine eigene APP_ID in der Quelle angegeben und Ihren Hash-Schlüssel nicht zum Dashboard hinzugefügt haben, wird dieser Fehler in LogCat angezeigt, nachdem Sie im nativen SSO-Dialogfeld auf "Okay" geklickt haben (falls Util.ENABLE_LOG wird auf true gesetzt):
D / Facebook-authorize (24739): Anmeldung fehlgeschlagen: invalid_key: Nicht übereinstimmende Android-Schlüssel. Ihr Schlüssel "uk3udeH7vrOGNFH2FJjdJbdWJWI" stimmt nicht mit den in Ihren Anwendungseinstellungen angegebenen zulässigen Schlüsseln überein. Überprüfen Sie Ihre Anwendungseinstellungen unter http://www.facebook.com/developers
Wir haben die visuelle Fehlermeldung hinzugefügt, um Ihnen zu helfen. Dies bricht theoretisch frühere Implementierungen nicht, wenn es von Anfang an korrekt implementiert wurde . Wenn diese Fehlermeldung angezeigt wird, bedeutet dies, dass Sie Ihre App-Einstellungen in Ihrem Dashboard nicht korrekt konfiguriert haben .
Überprüfen Sie Ihren Android-Klassen- / Paketnamen, Ihre Android-Hash-Schlüssel usw. Sie werden diese Meldung nicht sehen, wenn Sie alles richtig gemacht haben.
Zusammenfassend wird diese Fehlermeldung angezeigt, weil ein Problem mit Ihrer App-Konfiguration vorliegt, z. B. eine Nichtübereinstimmung zwischen den Android-Hash-Schlüsseln in Ihrem Dashboard. Bevor Facebook diese Fehlermeldung hinzufügte, wurde der Dialog gestartet, dann automatisch geschlossen und schlug fehl. Um dies zu beheben, überprüfen Sie Ihr LogCat auf Fehlermeldungen und stellen Sie sicher, dass alles korrekt implementiert ist. Sie können unsere Dokumentation lesen , um sicherzustellen, dass alles korrekt ist. Verwenden Sie nicht die akzeptierte Antwort auf diese Frage.
Sie können auch dem externen Fehlerbericht folgen, den ein Facebook-Entwickler für weitere Updates gemeldet hat.