如何在成功的Facebook身份验证上重定向到新页面

时间:2017-08-03 07:37:54

标签: firebase ionic2 firebase-authentication facebook-authentication

我有一个使用firebase进行Facebook身份验证的代码。在成功验证时,我需要重定向到新页面。我尝试检查内部,如果令牌不是null然后window.redirect函数,但它无法正常工作。任何人都可以帮助我。谢谢。

facebookLogin(){
    // Sign in using a redirect.
    firebase.auth().getRedirectResult().then(function(result) {
        console.log(result);
      if (result.credential) {
        // This gives you a Google Access Token.
        var token = result.credential.accessToken;
      }
      var user = result.user;
    })
    // Start a sign in process for an unauthenticated user.
    var provider = new firebase.auth.FacebookAuthProvider();
    firebase.auth().signInWithRedirect(provider);
}

3 个答案:

答案 0 :(得分:1)

您的身份验证回调中可能是navController.setRoot(NewPage)navController.push(NewPage)

有关详细信息,请参阅the NavController documentation

答案 1 :(得分:1)

您应该使用箭头函数()=> {...})而不是标准函数(function(){...}),因此this关键字仍然引用组件代码而不是功能本身。这样,您仍然可以使用该函数内部组件中定义的属性和方法。

facebookLogin(){
    // Sign in using a redirect.
    firebase.auth().getRedirectResult().then((result) => { // <--- Here!
      console.log(result);
      if (result.credential) {
        // This gives you a Google Access Token.
        var token = result.credential.accessToken;
      }
      var user = result.user;

      // Now you can use the methods and properties from your component here!
      this.navCtrl.setRoot(NextPage);

    });
    // Start a sign in process for an unauthenticated user.
    var provider = new firebase.auth.FacebookAuthProvider();
    firebase.auth().signInWithRedirect(provider);
}

答案 2 :(得分:1)

要在成功验证后重定向到新页面 -

  1. 创建要在页面加载时加载的函数 -

    Rootobject example = new Rootobject();
    //Add values to the variable example.
    var objectSerialized = JsonConvert.SerializeObject(example);
    

    注意 - 具有function initApp() { firebase.auth().getRedirectResult().then(function (result) { if (result.credential) { window.location='newpage.html';//Replace with your newpage URL } } } window.onload = function () { initApp(); }; 功能的脚本应位于调用下面第2点中给出的facebook登录方法的页面上。

  2. 2.(推荐)将提供者调用脚本与另一个函数分开 -

    window.onload