web-dev-qa-db-fra.com

Erreur FB SDK: Échec de la connexion (réactif natif)

Je configure actuellement l'authentification Facebook pour mon application Reach Native. Après les problèmes habituels avec la configuration de react-native-fbsdk, maintenant les événements d'application Facebook fonctionnent et le LoginManager se charge.

Mon problème: après autorisation, le LoginManager me redirige vers l'application, puis me montre l'erreur:

Échec de la connexion

J'utilise l'implémentation LoginManager très standard:

const FBSDK = require('react-native-fbsdk');
const {
  LoginManager,
  AccessToken,
} = FBSDK;


export default class FacebookAuth extends Component {

  facebook(){
    LoginManager.logInWithReadPermissions(['public_profile', 'email']).then(
  function(result) {
    if (result.isCancelled) {
      alert('Login cancelled');
    } else {
      alert('Login success with permissions: '
        +result.grantedPermissions.toString());
    }
  },
  function(error) {
    alert('Login fail with error: ' + error);
  }
);

Avez-vous des conseils pour moi?

J'ai déjà vérifié:

  • Informations sur l'application FB dans Info.Plist
  • iD de bundle iOS dans l'application Facebook
  • Client OAuth Paramètres
  • FBSDK LoginButton (même erreur)

Je cours: iOS 10 et 0.38.0 natif réactif.

Merci!

16
Jonas

Erreur lors de la connexion avec le SDK Facebook - React Native

Le problème était que Facebook SDK gardait toujours le jeton de session précédente, et lorsque j'essayais de me connecter à nouveau, j'obtenais cette erreur, pour résoudre ce problème, tout ce que j'avais à faire était d'appeler la méthode logOut à partir de LoginManager.

essayez ceci avant LoginManager.logInWithReadPermissions...

LoginManager.logOut();
47
Yifan

Après quelques heures à essayer différentes solutions, j'ai réussi à le réparer grâce aux commentaires de Cassiano Montanari et de zavadpe d'ici Installation incorrecte

Je me suis retrouvé avec cette configuration:

Fichier pod:

  pod 'FBSDKCoreKit', '4.38.0'
  pod 'FacebookSDK', '4.38.0'
  pod 'FBSDKShareKit', '4.38.0'
  pod 'FBSDKLoginKit', '4.38.0'

Vous devez vous assurer d'ajouter libRCTFBSDK.a dans Link Binary With Libraries et pour supprimer 'react-native-fbsdk', :path => '../node_modules/react-native-fbsdk' à partir de votre fichier pod.

Mon problème commence à se produire après la mise à niveau de FBSDK vers 4.39 et je n'ai trouvé aucun moyen de spécifier la version du SDK dans le fichier pod si j'utilise pod 'react-native-fbsdk', :path => '../node_modules/react-native-fbsdk'.

Je pense qu'une option est d'utiliser Carthage , mais je ne l'ai pas encore essayé.

4
Constantin Predescu

Selon le commentaire de Cassiano Montanari, la rétrogradation de 4.39.0 à 4.38.0 est la solution. Je me débattais avec tout cet après-midi et le déclassement l'a résolu immédiatement.

3
IronWorkshop