2

我正在开发离子和firebase项目,创建登录页面以使用谷歌登录。我在下面使用这个。此环境中不支持FIrebase Google auth操作

 var provider = new firebase.auth.GoogleAuthProvider(); 
     firebase.auth().signInWithRedirect(provider).then(function (result) { 
      var token = result.credential.accessToken; 
      // The signed-in user info. 
      var user = result.user; 
      $state.go('app.homepage'); 
     }).catch(function (error) { 
     }); 

     firebase.auth().getRedirectResult().then(function (result) { 
      if (result.credential) { 
       var token = result.credential.accessToken; 
      } 
      // The signed-in user info. 
      var user = result.user; 
     }).catch(function (error) { 
     }); 

当我在浏览器中运行它,它工作正常,但是当我在Android设备上运行它我得到认证/操作不支持的功能于这种环境。 应用程序正在“location.protocol”上运行。 我研究了一下,但找不到确切的答案。什么可能是错的?

回答

3

弹出和重定向操作当前不支持在Ionic/Cordova环境中。作为后备,您可以使用oauth cordova插件来获取Google/Facebook OAuth访问令牌,然后通过signInWithCredential登录用户。查看此线程获取更多信息:

auth.signInWithCredential(firebase.auth.FacebookAuthProvider.credential(fbAccessToken));

https://groups.google.com/forum/#!searchin/firebase-talk/facebook $ 20cordova /火力通话/ mC_MlLNCWnI/DqN_8AuCBQAJ

+0

嗨,我了解情况,但有一定的问题。 我可以使用http://ngcordova.com/docs/plugins/facebook/ 这个插件获取Facebook访问令牌吗? 也在我的Facebook应用程序页面,我应该把平台移动或网站?我正在使用离子 –

+0

嘿Missak,Firebase不建议任何特定的cordova插件来获取OAuth访问令牌。最终,应该在Ionic/Cordova的Web SDK中直接支持等效的signInWithPopup。所以这是一个临时的解决方案,直到提供该功能。 – bojeil

-1

试试下面的,因为本地存储不是在web视图,这是需要的火力

webSettings.setDomStorageEnabled(真)启用;

相关问题