Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 带有Cordova和Ionic Firebase身份验证标志的角度,在移动设备上弹出一个错误_Angular_Cordova_Firebase_Firebase Authentication_Ionic3 - Fatal编程技术网

Angular 带有Cordova和Ionic Firebase身份验证标志的角度,在移动设备上弹出一个错误

Angular 带有Cordova和Ionic Firebase身份验证标志的角度,在移动设备上弹出一个错误,angular,cordova,firebase,firebase-authentication,ionic3,Angular,Cordova,Firebase,Firebase Authentication,Ionic3,我已经对我的应用程序实施了Firebase身份验证(Ionic、Angular5和Cordova),并在浏览器上进行了测试,一切正常。我可以使用谷歌或facebook登录。我还能够将数据放入Firestore数据库中 但是,一旦部署到移动设备上,在我的android设备中,我会遇到以下错误: {code: "auth/operation-not-supported-in-this-environment", message: "This operation is not supported in

我已经对我的应用程序实施了Firebase身份验证(Ionic、Angular5和Cordova),并在浏览器上进行了测试,一切正常。我可以使用谷歌或facebook登录。我还能够将数据放入Firestore数据库中

但是,一旦部署到移动设备上,在我的android设备中,我会遇到以下错误:

{code: "auth/operation-not-supported-in-this-environment", message: "This operation is not supported in the environment…"}
错误似乎来自:

private oAuthLogin(provider) {
return this.afAuth.auth.signInWithPopup(provider)
  .then((credential) => {
    this.updateUserData(credential.user)
  })
}
当signInWithPopup替换为signInWithRedirect时,错误消失。 然而,这不是我需要的。 我需要能够打开一个弹出窗口,让用户从中签名,而不是将他从我的应用程序重定向到浏览器,以便执行登录过程

可能吗?(我看到市场应用程序打开一个弹出窗口,使用社交媒体进行身份验证,而不是重定向)

多谢各位

对于我使用的信息:Angular 4.4.4、AngularFire5、Cordova和Ionic 3(所有最新版本)

根据
signInWithPopup()
方法,您的错误表示如下:

在此环境中不支持身份验证/操作: 如果运行应用程序的环境不支持此操作,则引发<代码>位置。协议必须是httphttps

当您使用Ionic时,文件通过Android上的
文件://
协议和iOS上的本地Web服务器(
localhost://
)提供,这意味着
位置。协议
不符合库的要求

这包含了很多关于如何在Ionic/Cordova应用程序中绕过这一限制的建议。我希望其中一个能为你工作

OK根据
signInWithPopup()
方法,您的错误表示如下:

在此环境中不支持身份验证/操作: 如果运行应用程序的环境不支持此操作,则引发<代码>位置。协议必须是httphttps

当您使用Ionic时,文件通过Android上的
文件://
协议和iOS上的本地Web服务器(
localhost://
)提供,这意味着
位置。协议
不符合库的要求


这包含了很多关于如何在Ionic/Cordova应用程序中绕过这一限制的建议。我希望其中一个能为你工作

为什么您已经在使用Angular 5(RC)?Ionic3目前对Angular 4.4.4具有对等依赖性。抱歉,我的坏消息是,我实际上使用的是Angular 4.4.4,而AngularFire实际上是5 rch。您希望如何在移动应用程序中打开弹出窗口<在Cordova/Ionic功能(如弹出窗口)中使用重定向进行代码>登录。当你启动流程时,它将打开一个chrome自定义选项卡或SFSafariViewController等。然后,它将关闭并显示Cordova网络视图,其中显示了你的应用程序正在运行。这正是我不希望它移出应用程序的原因!我使用David评论中提到的GooglePlus插件实现了这一点,并且我能够为google登录显示一个“弹出窗口”。你为什么已经使用Angular 5(RC)?Ionic3目前对Angular 4.4.4具有对等依赖性。抱歉,我的坏消息是,我实际上使用的是Angular 4.4.4,而AngularFire实际上是5 rch。您希望如何在移动应用程序中打开弹出窗口<在Cordova/Ionic功能(如弹出窗口)中使用重定向进行代码>登录。当你启动流程时,它将打开一个chrome自定义选项卡或SFSafariViewController等。然后,它将关闭并显示Cordova网络视图,其中显示了你的应用程序正在运行。这正是我不希望它移出应用程序的原因!我使用David评论中提到的GooglePlus插件实现了这一点,并且我能够显示google登录的“弹出窗口”。是的,我也检查了github问题,但是他们建议使用重定向方法。。。经过广泛的搜索,我认为唯一的解决方案是放弃这种方法并使用本机插件,例如,如果有人对我的问题感兴趣,这就是我要使用的解决方案,因为firebase web SDK不支持它本机解决方案可能是最好的方法是的!是的,我也检查了github的问题,但是他们建议使用重定向方法。。。经过广泛的搜索,我认为唯一的解决方案是放弃这种方法并使用本机插件,例如,如果有人对我的问题感兴趣,这就是我要使用的解决方案,因为firebase web SDK不支持它本机解决方案可能是最好的方法是的!