Firebase : Facebook Auth et Mail+MDP auth

rollanorollano Membre
janvier 2017 modifié dans Vos applications #1

Bonjour,


J'utilise déjà  l'authentification par mail et mot de passe de Firebase.


Pour cela, je demande une inscription de mon utilisateur.


Dans mon application, j'utilise les éléments demandés lors de l'inscription tels que : le nom, mail, image de profil ville et sexe.


Maintenant, je souhaite utiliser l'authentification par Facebook


Comment faire pour utiliser les deux modes d'authentification sans créer d'erreur ?


Par ce que là , l'authentification avec Facebook fonction, mais comme dans mon application, je récupère l'URL de la photo de profil dans le storage de Firebase ça me crée des erreurs.


Je ne sais pas si je suis clair dans mes explications, surtout sans aucun code...


Lorsque j'aurais accès à  mon pc et au code, je compléterais.


Je vous remercie d'avance pour vos aide et autres pistes :)


 


 


CODE SUR SWIFT


Réponses

  • Joanna CarterJoanna Carter Membre, Modérateur
    S'il te plaà®t, n'utilises pas le HTML pour tes messages. Je l'ai enlevé.


  • S'il te plaà®t, n'utilises pas le HTML pour tes messages. Je l'ai enlevé.




     


    HTML ?

  • LeChatNoirLeChatNoir Membre, Modérateur

    Si auth Facebook, alors récupère la photo de profil Facebook sinon, récupère la photo depuis ton storage firebase.


     


    Non ?




  • Si auth Facebook, alors récupère la photo de profil Facebook sinon, récupère la photo depuis ton storage firebase.


     


    Non ?




     


    Salut :)


     


    Oui effectivement c'est cela que je compte faire mais ça ne présuppose pas que l'utilisateur ait déjà  créé un compte ?


     


    Dans le cas ou l'utilisateur est passé par Auth Facebook, l'image et le nom ok pas de soucis (des tutos traites du sujet). je pense même sauvegarder la photo de profil de Facebook dans le storage.


     


    Est-ce que c'est possible de crée un utilisateur dans la base "Users" avec les infos de la auth de facebook ?

  • LeChatNoirLeChatNoir Membre, Modérateur
    janvier 2017 modifié #6

    Non, ça ne présuppose pas. Au contraire. Les gens qui choisisse FB, c'est pour éviter de tout saisir...


     


    Et oui, il se créer tout seul dans la base utilistaeurs Firebase.


    Comme pour les comptes mail. Il sera juste "typé" Facebook.




  • Non, ça ne présuppose pas. Au contraire. Les gens qui choisisse FB, c'est pour éviter de tout saisir...


     


    Et oui, il se créer tout seul dans la base utilistaeurs Firebase.


    Comme pour les comptes mail. Il sera juste "typé" Facebook.




     


    En effet, mais ya trop d'informations qui me manque. Concrètement j'ai : Username, Email et Photo profil .


     


    Est -il possible de récupérer d'autre infos ?

  • Comment concrètement reconnaà®tre un utilisateur qui à  utiliser Facebook Auth d'unautre qui à  utiliser Email et mdp une fois qu'ils sont tous les deux dans l'appli ?


  • LeChatNoirLeChatNoir Membre, Modérateur


    Comment concrètement reconnaà®tre un utilisateur qui à  utiliser Facebook Auth d'unautre qui à  utiliser Email et mdp une fois qu'ils sont tous les deux dans l'appli ?




     


    Dans ton objet Firebase user, tu as une propriété "ProviderData" qui te l'indique 



    var user = firebase.auth().currentUser;

    if (user != null) {
    user.providerData.forEach(function (profile) {
    console.log("Sign-in provider: "+profile.providerId);
    console.log(" Provider-specific UID: "+profile.uid);
    console.log(" Name: "+profile.displayName);
    console.log(" Email: "+profile.email);
    console.log(" Photo URL: "+profile.photoURL);
    });
    }
  • rollanorollano Membre
    janvier 2017 modifié #10


     


    Dans ton objet Firebase user, tu as une propriété "ProviderData" qui te l'indique 



    var user = firebase.auth().currentUser;

    if (user != null) {
    user.providerData.forEach(function (profile) {
    console.log("Sign-in provider: "+profile.providerId);
    console.log(" Provider-specific UID: "+profile.uid);
    console.log(" Name: "+profile.displayName);
    console.log(" Email: "+profile.email);
    console.log(" Photo URL: "+profile.photoURL);
    });
    }

    Magnifique :)


     


    Je vais voir.


     


    Merci beaucoup


     




  • if let providerData = FIRAuth.auth()?.currentUser?.providerData {
    for item in providerData {
    print("\(item.providerID)")
    }
    }

    si je suis connecté par mail + mot de passe cela remonte => password


     


    sinon si c'est par Facebook Auth => facebook.com

Connectez-vous ou Inscrivez-vous pour répondre.