离子2 Facebook登录

离子2 Facebook登录,facebook,ionic2,Facebook,Ionic2,我发现这个代码: login() { this.platform.ready().then(() => { this.facebookLogin().then((success) => { alert(success.access_token); }, (error) => { alert(error); }); }); } facebookLogin() {

我发现这个代码:

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");
        });
    });
}
login(){
this.platform.ready()。然后(()=>{
this.facebookLogin()。然后((成功)=>{
警报(成功。访问\u令牌);
},(错误)=>{
警报(错误);
});
});
}
facebookLogin(){
返回新承诺(功能(解决、拒绝){
var browserRef=window.cordova.InAppBrowser.open(“https://www.facebook.com/v2.0/dialog/oauth?client_id=“+”客户端\u ID\u此处“+”&重定向\u uri=http://localhost/callback&response_type=token&scope=email“,”_blank“,”位置=否,clearsessioncache=是,clearcache=是”);
browserRef.addEventListener(“加载开始”,“事件)=>{
if((event.url).indexOf(“http://localhost/callback") === 0) {
browserRef.removeEventListener(“退出”,(事件)=>{});
browserRef.close();
var responseParameters=((event.url).split(“#”)[1]).split(&”);
var parsedResponse={};
对于(var i=0;i
我有点困惑,当用户使用facebook/google等社交应用程序登录时,爱奥尼亚2应用程序是如何识别的? 例如,我想创建一个登录页面,它会提示用户登录facebook,一旦用户登录,就不显示该页面。
我熟悉存储会话/cookies的nodejs+passportjs,但它是如何实现Ionic 2的?

集成Facebook认证Ionic应用程序的方法有多种:

  • 使用Javascript实现任何Facebook身份验证

    • 科多瓦奥斯
    • 等等
  • 离子原生

  • Ionic Native是一套精心策划的ES5/ES6/TypeScript包装器,用于Cordova/PhoneGap插件,可方便地将您需要的任何本机功能添加到您的Ionic、Cordova或Web View移动应用程序中。 -Facebook:

    该页面提供了在您的Ionic应用程序中实现本机Facebook身份验证所需的所有详细信息


    希望这有助于回答您的问题和担忧。

    集成Facebook应用程序的方法有多种:

  • 使用Javascript实现任何Facebook身份验证

    • 科多瓦奥斯
    • 等等
  • 离子原生

  • Ionic Native是一套精心策划的ES5/ES6/TypeScript包装器,用于Cordova/PhoneGap插件,可方便地将您需要的任何本机功能添加到您的Ionic、Cordova或Web View移动应用程序中。 -Facebook:

    该页面提供了在您的Ionic应用程序中实现本机Facebook身份验证所需的所有详细信息


    希望这有助于回答您的问题和顾虑。

    您可以使用爱奥尼亚Native的NativeStorage插件来存储用户偏好。它会保留数据,直到卸载应用程序

    请在此处查找更多信息:


    您可以使用Ionic Native的NativeStorage插件来存储用户偏好。它会保留数据,直到卸载应用程序

    请在此处查找更多信息:


    您的代码的源代码似乎不是来自Floftyco/Ionicframework。预先捕获您应该看一看:或者提供您正在引用上面代码的源项目的信息。看起来像是在Cordova InApp Browser中解析了一些登录响应。您的代码源似乎不是来自Floftyco/Ionicframework。预先捕获您应该看一看:或者提供您正在引用上面代码的源项目的信息。看起来像是在Cordova InApp Browser中解析一些登录响应。