2016-07-22 13 views
0

ich diesen Code gefunden:Ionic 2 Facebook-Login

login() { 
    this.platform.ready().then(() => { 
     this.facebookLogin().then((success) => { 
      alert(success.access_token); 
     }, (error) => { 
      alert(error); 
     }); 
    }); 
} 


facebookLogin() { 
    return new Promise(function(resolve, reject) { 
     var browserRef = window.cordova.InAppBrowser.open("https://www.facebook.com/v2.0/dialog/oauth?client_id=" + "CLIENT_ID_HERE" + "&redirect_uri=http://localhost/callback&response_type=token&scope=email", "_blank", "location=no,clearsessioncache=yes,clearcache=yes"); 
     browserRef.addEventListener("loadstart", (event) => { 
      if ((event.url).indexOf("http://localhost/callback") === 0) { 
       browserRef.removeEventListener("exit", (event) => {}); 
       browserRef.close(); 
       var responseParameters = ((event.url).split("#")[1]).split("&"); 
       var parsedResponse = {}; 
       for (var i = 0; i < responseParameters.length; i++) { 
        parsedResponse[responseParameters[i].split("=")[0]] = responseParameters[i].split("=")[1]; 
       } 
       if (parsedResponse["access_token"] !== undefined && parsedResponse["access_token"] !== null) { 
        resolve(parsedResponse); 
       } else { 
        reject("Problem authenticating with Facebook"); 
       } 
      } 
     }); 
     browserRef.addEventListener("exit", function(event) { 
      reject("The Facebook sign in flow was canceled"); 
     }); 
    }); 
} 

Ich bin ein wenig verwirrt, wie funktioniert Ionic 2 App erkennt, wenn der Benutzer mit einigen sozialen Anwendungen wie Facebook angemeldet/google? Zum Beispiel möchte ich eine Zielseite erstellen, die zur Facebook-Anmeldung auffordert, und sobald der Benutzer angemeldet ist, zeige die Seite nicht. Ich bin vertraut mit Nodejs + Passjs, die Sitzung/Cookies speichert, aber wie Ionic 2 es tut?

+0

Quelle des Codes nicht von Driftyco/Ionicframework zu sein scheint. Vielleicht sollten Sie einen Blick auf: http://ionicframework.com/docs/v2/native/facebook/ Oder bieten Sie Informationen über Quellprojekt, dass Sie den Code sinppet oben refferencing. Sieht so aus, als würde man in Cordova InAppBrowser einige Login-Antworten analysieren. –

Antwort

0

Es gibt verschiedene Möglichkeiten, Facebook-Authentifizierung Ionic App zu integrieren:

  1. Implementieren jeder Facebook-Authentifizierung mit Javascript

    • CordovaOauth
    • usw.
  2. Ionic Mutter

Ionic india ist eine kuratierte Reihe von ES5/ES6/Typoskript Wrapper für Cordova/PhoneGap-Plugins, die alle nativen Funktionen machen das Hinzufügen Sie Ihre Ionic, Cordova benötigen oder Web View mobile app einfach. - Facebook: http://ionicframework.com/docs/v2/native/facebook/

Seite enthält alle erforderlichen Informationen zum Implementieren der nativen Facebook-Authentifizierung in Ihrer Ionic App.

Hoffe das hilft bei der Beantwortung Ihrer Frage und Anliegen.