Ionic firebase facebook auth

时间:2016-10-27 21:14:44

标签: cordova firebase ionic-framework firebase-authentication

我有Facebook登录页面(我正在使用Firebase Auth),当我在我的设备上运行我的应用程序并点击登录按钮时,我收到错误消息:

  

此应用程序运行的环境不支持此操作。 “location.protocol”必须是http或https,并且必须启用网络存储。

,错误代码为:

auth/operation-not-supported-in-this-environment

如果我在谷歌浏览器中运行此应用程序,它的工作效果很好。问题在哪里?

感谢。

登录代码:

var provider = new firebase.auth.FacebookAuthProvider();
    firebase.auth().signInWithPopup(provider).then(function(result) {
      // This gives you a Facebook Access Token. You can use it to access the Facebook API.
      var token = result.credential.accessToken;
      // The signed-in user info.
      var user = result.user;
      console.log(user);
      // ...
    }).catch(function(error) {
      // Handle Errors here.

      var errorCode = error.code;
      var errorMessage = error.message;
     console.log(errorMessage);
     console.log(errorCode);
      var email = error.email;
      // The firebase.auth.AuthCredential type that was used.
      var credential = error.credential;
      // ...
    });

1 个答案:

答案 0 :(得分:1)

正如Channing所说,目前Cordova不支持此功能。 您需要使用Cordova插件进行Facebook登录。 成功后,您将获得OAuth 2访问令牌或ID令牌。 然后,您使用web sdk初始化auth凭证并调用signInWithCredential:



firebase.auth().signInWithCredential(firebase.auth.FacebookAuthProvider.credential(fbAccessToken)).then(function(user) {
  // The facebook user is now signed in.
}).catch(function(error) {
  // Some error happened!
});




要获取fb访问令牌,您可以使用我找到的以下插件:https://github.com/Wizcorp/phonegap-facebook-plugin