J'ai intégré avec succès le plugin Nativescript Firebase pour activer l'authentification facebook. Mon appel de connexion FB ressemble à ceci:
firebase.login({ type: firebase.LoginType.FACEBOOK, // Optional facebookOptions: { // defaults to ['public_profile', 'email'] scope: ['public_profile', 'email'] } }).then( function (result) { JSON.stringify(result); }, function (errorMessage) { console.log(errorMessage); } );
La connexion échoue avec une erreur "Erreur lors de la tentative de connexion avec Fb SERVER_ERROR: [code] 1349195 [message]: Le hachage de clé ne correspond à aucun hachage de clé stocké", ce qui est évident car je n'ai pas ajouté Keyhash dans l'application Facebook.
J'attendais une valeur de hachage de clé dans le message d'erreur selon documentation afin que je puisse l'ajouter dans l'application Facebook.
Je pense que le message d'erreur serait avoir un hachage de clé uniquement lorsque l'application est signée
Problème
Je pense qu'il me manque quelque chose de minuscule ici - Toute aide serait appréciée.
3 Réponses :
Comme mentionné dans la {N} documentation a >, les builds de débogage sont signés par le keystore de débogage créé et géré par Android lui-même.
Si vous consultez les documents Android officiels , vous saura où se trouvent ces certificats.
~ / .android /
sous OS X et LinuxC: \ Documents and Settings \ user \ .android \
sous Windows XPC: \ Users \ user \ .android \
sous Windows Vista et Windows 7, 8 et 10
Très bien, selon la documentation, les versions de débogage sont signées automatiquement. Cela signifie que le message d'erreur devrait également avoir imprimé le hachage de la clé, non? J'ai également essayé de générer le hachage de clé manuellement keytool -exportcert -alias androiddebugkey -keystore% HOMEPATH% .android \ debug.keystore | openssl sha1 -binaire | openssl base64
mais la sortie semble invalide car elle ne fait pas 28 caractères.
Je suis sous Mac OS (10.14.4), cela fonctionne parfaitement bien pour moi, renvoie la clé de hachage de 28 caractères.
Enfin, je l'ai résolu en utilisant ceci . Il s'est avéré qu'il est important de conserver le dossier SSL extrait dans le lecteur C.
En utilisant simplement NativeScript, vous pouvez trouver votre hachage de clé facebook en exécutant des journaux avec la commande tns device log
ou tns device log --device
, si plusieurs les appareils sont connectés. L'ID d'appareil est l'index ou l'identifiant de l'appareil répertorié par la commande tns device
(source: https://docs.nativescript.org/tooling/docs-cli/device/device-log ).
Le hachage de la clé facebook est désormais visible dans les journaux au format fb4a.BlueServiceQueue: X.2nk: [code] 404 [message]: Le hachage de clé
key hash
ou similaire dans le terminal pour trouver ce journal.
Enfin, collez le hachage dans la console des développeurs Facebook où vous avez créé votre application Android (onglet De base ) à côté du champ Nom du package Google Play (identifiant nativescript de votre < code> package.json ) et champ Nom de classe ( com.tns.NativeScriptActivity
). Vous n'avez pas besoin d'avoir une application en direct pour essayer l'authentification Firebase Facebook, cela fonctionne également en mode développement.