2
votes

Authentification Facebook du plugin Nativescript Firebase - Signer l'application en mode débogage

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

  • J'ai déjà passé des heures sans aucune chance à trouver comment signer l'application en mode débogage. J'exécute l'application en utilisant la commande 'tns debug android'
  • Je sais qu'il est possible de signer l'application en utilisant ' tns run android 'mais cela ne me permettra pas de déboguer l'application.

Je pense qu'il me manque quelque chose de minuscule ici - Toute aide serait appréciée.


0 commentaires

3 Réponses :


0
votes

Comme mentionné dans la {N} documentation , 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 Linux
  • C: \ Documents and Settings \ user \ .android \ sous Windows XP
  • C: \ Users \ user \ .android \ sous Windows Vista et Windows 7, 8 et 10

2 commentaires

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.



0
votes

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.


0 commentaires

0
votes

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é ne correspond à aucun hachage de clé stocké. Juste Ctrl + F 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.

 entrez la description de l'image ici


0 commentaires