App est mal configuré pour Facebook login: Android Facebook question de l'intégration de
J'ai intégré mon application avec Facebook, et pour cela, je suis en utilisant Facebook du L'API graphique. Je suis de la récupération de profil et les amis de l'information. Il fonctionne très bien sur mon appareil qui a Android 2.3 (pain d'épice), mais récemment, mon client est confronté à un problème alors qu'il tente de se connecter à Facebook via mon application. Il a Android 4.0 (Ice Cream Sandwich) sur son appareil. Lorsqu'il clique sur un bouton de l'application qui l'emmène à l'Facebook écran de connexion, après la connexion, il reçoit un message:
Mon application est configuré pour Facebook login. Appuyez sur Ok pour revenir à l'application sans connexion à Facebook.
Je ne reçois pas quel est le problème s'il est lié à la version d'Android ou quoi.
Comment puis-je résoudre ce problème?
- Vous êtes sûr que c'est pas liée à la connexion unique? J'ai eu le même problème où il a bien fonctionné lors de la FB app n'a pas été installé, mais lorsque le FB application a été installée j'ai obtenu l'erreur ci-dessus.
- la accepté de répondre est la mauvaise réponse à votre question. Veuillez voir ci-dessous ma réponse, et n'utilisez pas la accepté de répondre à votre solution.
- Merci beaucoup pour vos conseils.
- hii pouvez-vous unaccept la réponse si quelqu'un veut le savoir qu'ils peuvent le faire avec le mauvais chemin ...
- En effet, cette erreur se produit également dans Facebook est propre SDK échantillons! Aller à la figure.
- Il y a un moyen plus facile, découvrez cette réponse: stackoverflow.com/a/22568861/570612
Vous devez vous connecter pour publier un commentaire.
Je travaille à Facebook, et c'est une question importante qui doit être abordée. L'autre réponse à cette question suggère que la désactivation de l'authentification unique est très mauvais et permettra d'ouvrir votre application à des applications malveillantes qui peuvent voler votre utilisateur Facebook des informations d'identification.
Le hack lance une WebView dialogue à Facebook sans SSO, et l'utilisateur doit saisir leurs identifiants de connexion dans la boîte de dialogue. Des applications malveillantes peuvent alors voler facilement cette information. Il est toujours conseillé de mettre en œuvre Facebook SSO correctement pour vous assurer que votre application est de sécuriser et de protéger l'utilisateur des données sensibles.
Avant d'ajouter ce message d'erreur, le dialogue de fermer automatiquement sans avertissement et silencieuse. Nous avons ajouté ce message d'erreur à représenter visuellement qu'il y a un problème avec votre configuration de l'application dans votre Facebook application de tableau de bord. Pour Android, si vous vérifiez votre LogCat, vous verrez qu'après avoir appuyé sur "Ok", il devrait y avoir un message d'erreur qui permettra d'afficher une description plus technique de ce qui est à l'origine de l'échec de l'authentification.
Par exemple, si vous utilisez notre Hackbook exemple et de ne pas fournir votre propre APP_ID dans la source et de ne pas ajouter votre clé de hachage pour le tableau de bord, vous verrez cette erreur dans le LogCat après avoir appuyé sur "Ok" dans le natif d'authentification unique de dialogue (si Util.ENABLE_LOG est définie à true):
Nous avons ajouté la visual message d'erreur pour vous aider. Ce qui, en théorie, ne casse pas les implémentations précédentes si elle a été correctement mis en œuvre pour commencer. Si vous voyez ce message d'erreur, cela signifie que vous n'avez pas configuré vos paramètres de l'application correctement sur votre tableau de bord.
Vérifiez votre Android Classe/nom du Package, Android clés de hachage, etc. Vous ne verrez pas ce message si vous avez tout fait correctement.
En résumé, vous obtenez ce message d'erreur car il y a un problème avec votre configuration de l'application, par exemple, un décalage entre le Android clés de hachage dans votre tableau de bord. Avant Facebook a ajouté ce message d'erreur, le dialogue de lancement, puis fermer automatiquement et ne parviennent pas. Pour résoudre ce problème, vérifiez votre LogCat pour tous les messages d'erreur et assurez-vous que vous avez tout mis en œuvre correctement. Vous pouvez lire sur notre documentation à assurez-vous que vous avez tout corriger. N'utilisez pas la accepté de répondre à cette question.
Vous pouvez également suivre la externe rapport de bug que Facebook développeur a déclaré pour plus de mises à jour.
WebView
. Si votre application configurations ne sont pas configurés correctement puis natif d'authentification unique (SSO à l'aide de l'application native) ne fonctionnera pas et vous obtiendrez cette erreur. Assurez-vous que vous n'avez pas de filtre sur votre logcat. Un message d'erreur sera généré lorsque vous appuyez sur "Ok". Je vous suggère d'aller à travers le Hackbook exemple et assurez-vous que vous pouvez obtenir natif d'authentification unique pour le travail. Si vous ne pouvez pas, alors vous devez comprendre cela avant d'essayer de le faire fonctionner sur votre propre application. Fixe le lien, merci de me les signaler.Essayer de le définir comme ceci:
D'abord télécharger OpenSSL (si vous avez une machine 64 bits, vous devez télécharger openssl-0.9.8 e X64, pas la dernière version d'openssl-0.9.8 k X64, parce que la sortie ne sera pas valide). Extraire vos fichiers, créer le dossier
openssl
, par exemple dans C:/et copiez-y les fichiers.Trouver votre chemin à keytoo. Le mien est C:\Program Files\Java\jdk1.7.0_05\bin.
Trouver votre chemin à
debug.keystore
. YHou peut voir qu'est-ce que le chemin d'accès si vous ouvrez dans Eclipse, menu Fenêtre -> Préférences -> Android -> Construire, et vous verrez de Débogage par Défaut du fichier de clés:-et le chemin d'accès.Trouver votre chemin à
openssl
. Le mien est C:\openssl8e\bin/.Ouvrir cmd et tapez:
"C:\Program Files\Java\jdk1.7.0_05\bin\keytool" -exportcert -alias androiddebugkey -keystore "C:\Users\User.android\debug.keystore" | "C:\openssl8e\bin\openssl" sha1 -binaire | "C:\openssl8e\bin\openssl" base64
Et puis appuyez sur Entrée.
Insérer le mot de passe:
android
Vous recevrez votre clé de hachage pour
debug.keystore
.Lorsque vous exportez un signé APK, et vous créez un fichier de clés pour l'application, il suffit de remplacer dans cmd debugkeystore alias à votre alias de l'application, le chemin d'accès du fichier de clés avec le chemin d'accès à votre fichier de clés pour l'application et insérez le mot de passe pour votre
app.keystore
, et vous obtiendrez une nouvelle clé de hachage pour votre application signée.La réponse de Jesse Chen est très bien. Facebook SDK fonctionne très bien, ne pas le casser.
J'ai de nouveau rencontré ce problème et trouvé que le Facebook documentation du kit de développement est corrigé et est très bien maintenant. Maintenant, il est de guider la façon de debug et release clés de hachage peut être réglé; il suffit de faire comme il dit.
Ci-dessous est ma vieille histoire. Il n'y manque que vous pouvez définir deux clés de hachage, l'un pour le débogage et l'autre pour signé, publié application de l'ancien Play Store.
J'ai découvert ce problème était dans mon cas, dans le Facebook du SDK de la documentation. Il nous a guidé pour utiliser le débogage de la clé de hachage et de le mettre dans Facebook de la configuration de l'application. De hachage est guidé pour obtenir de cette façon:
Cela fonctionne très bien, quand vous êtes dubugging ou de l'application en cours d'exécution à partir de Eclipse.
Mais, si vous publiez votre application pour Android Jouer, vous devez utiliser votre propre éditeur de clé pour l'exportation de la signature .fichier apk. Avec que .apk, le hachage dans le Facebook app console n'est plus valable! Vous devez obtenir un hachage de la clé de développeur comme ceci:
Et de le mettre dans l'Android Clé de Hachage dans le Facebook app console à la publication de votre application. Après cela, SSO fonctionne très bien encore une fois pour votre signature .fichier apk.
De ce que j'ai pu recueillir, c'est un Facebook problème et a été signalé. Mais, le problème persiste.
Un moyen de contourner cela (testé sur 2.3.3) est de pirater le Facebook SDK, recherche pour l'2 autoriser méthodes et modifier le DEFAULT_AUTH_ACTIVITY_CODE à FORCE_DIALOG_AUTH. Cela va désactiver la fonctionnalité d'authentification Unique.
Si vous préférez ai
et de désactiver le startSingleSignOn partie. Il est préférable de ne pas, parce que finalement Facebook permettra de résoudre le problème, et vous avez seulement à mettre l'ancien arrière constante.
MODIFIER
Cette solution pose des problèmes de sécurité. Vérifier Jesse Chen réponse.
J'ai été confrontée au même problème, après avoir passé 24 heures et beaucoup de recherche, nous utilisons cette méthode pour résoudre mon problème.
Vérifier votre Xcode projet actuel identifiant de lot
par exemple : com.yourcompanyname.yourappname
utiliser le même com.yourcompanyname.yourappname identifiant de lot pour la création d'application dans Facebook voir la pièce jointe.
J'ai eu ce problème il y a quelques minutes me suis 4.0.4 et il semble avoir résolu de lui-même.
Si tard, toujours utile:
*Voici la corerct façon de le faire(pour la clé de débogage, de modifier en conséquence la libération):*
Le hachage est dans le dernier fichier généré: debug_base64.txt....ouvrir et de copier le code de hachage.
N'oubliez pas de remplacer "" et votre identifiant et de votre lettre de lecteur de votre choix
Lorsque vous créez la clé de hachage, vous pourriez vous retrouver avec quelque chose qui a l'égalité du signe "=" à la fin, comme ga0RGNYHvNM5d0SLGQfpQWAPGJ8=. Alors que Facebook accepte volontiers l'égalité signe en tant que partie de la clé de hachage, vous devez l'enlever pour que cela fonctionne.
De plus, découvrez la accepté de répondre à Android Facebook SDK 3.0 donne "remote_app_id ne correspond pas stockées id" en se connectant: lors de l'obtention de la clé de hachage pour le débogage du fichier de clés, utilisez le mot de passe "android". Sinon la clé de hachage sera incorrecte et vous obtiendrez l'erreur est précisé dans la question (être gentil et de voter la réponse si cela vous a aidé.)
Concernant les applications signé avec son PROPRE fichier de clés:
Après avoir passé plusieurs heures à résoudre ce problème, j'ai finalement obtenu et veulent fournir une réponse pour ceux qui sont encore en souffrance:
Mes étapes:
J'ai signé mon application via eclipse avec mon propre fichier de magasin de clés (PAS de débogage.fichier de clés).
Via la ligne de commande et connu des commandes (keytool -exportcert -alias -keystore ~/.android/| openssl sha1 -binaire | openssl base64) je successfulluy reçu la clé de hachage.
Collé la clé de hachage dans le dev de tableau de bord,attendu quelques minutes -> Toujours la même ERREUR (comme précisé dans la question ci-dessus).
j'ai essayé plusieurs differend keytools, sur plusieurs jdk, etc... rien n'a changé.
Solution:
Je me suis tourné sur debuggable dans le manifeste, activé le débogage dans facebook sdk. puis j'ai signé l'apk avec mon propre fichier de clés et téléchargée sur l'appareil réel.
je périphérique connecté via usb et ouvert DDMS point de vue logcat sur l'appareil.
J'ai commencé mon application et de laisser le message d'erreur se produire.
Il imprime une touche totalement différente de la clé générée par keytool. J'ai pris cette clé de logcat, collé à dev tableau de bord et le tour est joué -> TOUT FONCTIONNE
Je ne sais toujours pas pourquoi ce qui se passe ou de ce qui est à l'origine de la mauvaise touche, mais de cette façon que cela fonctionne pour moi.
Sur un système Debian comme ubuntu, utiliser le
keytool
dejava
trouve sous le répertoire/usr/lib/jvm/jdk*.*.*/bin/keytool
et générer comme ceCette façon, vous obtenez l'authentique clé de hachage qui peut être mis sous votre application de hachage de facebook.
Habituellement, ce problème pourrait être résolu avec deux case:
J'ai réussi à résoudre les problème j'ai eu du mal configuré avec pour Facebook sur Android en veillant à ce que j'avais la bonne clé de hachage pour une version.
Pour obtenir la version de clé de hachage, trouver la clé que vous avez utilisé pour signer le formulaire de demande et le faire, insérez le nom de votre fichier de clés alias (sans crochets). Si vous ne connaissez pas votre alias de ce qui peut être trouvé à l'exportation de votre application comme une application signée et l'alias est sur la deuxième page de l'assistant. Aussi insérer le chemin d'accès à votre fichier de clés (sans crochets).
J'ai fait un
Toast
pour les exceptions et a trouvé qu'il jette une clé à l'exception d'incompatibilité aujourd'hui ajouté la clé dans laFB
page de l'application et il fonctionne très bienÉgalement rencontré ce problème.
Il suffit d'aller à l'Facebook développeurs page mise en route ici
et suivez l'étape 4 - la chose avec la ligne de commande.
A fonctionné pour moi.
Profiter.
J'ai juste eu le même problème et la solution est avéré être super simple. Quand j'ai créé l'application dans le tableau de bord, j'ai seulement ajouté la clé de hachage pour android debug fichier de clés. Tout cela fonctionne très bien si vous installez l'application en tant que développeur de via un câble USB dans ce cas.
Une fois que vous avez une application dans le Play Store, vous utiliserez une production clé pour signer l'application. Cela signifie également que vous devez obtenir la clé de hachage de la production de la clé comme pour la clé de débogage et de l'ajouter en tant que second hachage à la liste de l'application native de hachages.
juste pour te rappeler comment la clé de hachage œuvres:
keytool -exportcert -alias -keystore ~/keys/android_keystore | openssl sha1 -binaire | openssl base64
Espère que ça aide!
J'ai eu un problème similaire, mais pour iOS.
La solution est de le faire avec la configuration de l'Facebook app sur Facebook développeur daskboard.
Pour iOS, 2 choses doivent être faites:
Permis À Facebook De Connexion
ID de lot doit être le même que l'application
C'est un fichier de clés problème..configurer eclipse pour utiliser le même fichier de clés pour l'application qui a été configuré pour.
J'ai eu la même erreur il y a quelques jours. Dans mon cas, c'était dû à un Android non-concordance de clé. Voici comment je l'ai corrigé si il peut vous aider aussi:
Ouvrir Util.java dans le Facebook SDK, ensemble
private static boolean ENABLE_LOG = true;
. Maintenant exécuter votre application et entrez votre e-mail id et le mot de passe. Facebook envoie en retour une signature s'il y a une non-concordance de clé. Vous trouverez cette clé (signature) en LogCat. Il suffit de copier cette clé et de le coller dans l'application de tableau de bord. Cela devrait résoudre le problème. N'oubliez pas de réglerprivate static boolean ENABLE_LOG = true;
dos à faux.