Firebase Web Auth 在移动设备上不起作用?
Firebase Web Auth Doesn't Work On Mobile Devices?
我打算为我的网络应用程序使用 Firebase 的提供商身份验证,但它似乎不适用于移动设备。该网站在这里:
然后当你点击这个按钮时:
将出现一个弹出窗口。当你点击这个按钮时:
然后它应该进入 google 提供商身份验证流程。
我的代码如下所示:
var provider = new firebase.auth.GoogleAuthProvider();
firebase.auth().signInWithRedirect(provider).then((result) => {
// console.log('@$ signin wiht google worked!' + e +', user is: ' + firebase.auth().currentUser.uid);
console.log('@$ signin wiht google worked!' + result.user);
}).catch((e) => {
console.log('@$ signin wiht google failed!' + e);
firebase.auth().signInAnonymously().then((user) => {
console.log('@$ signed in anonymously againQ ' + user.uid);
// console.log('@$ and firebase knows it: ' + firebase.auth().currentUser.uid);
}).catch((e) => {
console.log('@$ signed in anonymously failed ' + e);
})
})
问题是,虽然这在台式机上运行良好,但在移动设备上根本无法运行。我已经尝试了 "signInWithRedirect" 和 "signInWithPopup",但是当我在我的华为荣耀 phone 上调用这些方法时,没有任何反应(在任何浏览器中)。
我是不是哪里做错了,还是 Firebase 网络身份验证在移动设备上不起作用?
这有点尴尬,但它可能对其他人有所帮助。结果证明真正的问题与移动设备没有任何关系,但实际上我使用的是自定义域并且忘记将其添加到控制台的 auth 部分。当我在打开 chrome 开发工具的情况下测试生产应用程序时,我可以在控制台中看到此错误:
在 firebase 控制台的这一部分添加我的自定义域有效:
前段时间我尝试过类似的方法,但很长一段时间我都放弃了这种登录方式,因为在开发阶段它对我不起作用。
正是因为这个原因,因为在开发阶段,我通过地址类型 192.157.2.3:3000 进入我的服务器
尝试使用 signInWithPopup 和 signInWithRedirect
它对我不起作用
错误是 firebase 不支持来自 192.157.2.3:3000 的请求,这个问题已经在生产中用 "firebase deploy" 简单地解决了。
Here 是一个例子,尽管 Angular 是相同的
我打算为我的网络应用程序使用 Firebase 的提供商身份验证,但它似乎不适用于移动设备。该网站在这里:
然后当你点击这个按钮时:
将出现一个弹出窗口。当你点击这个按钮时:
然后它应该进入 google 提供商身份验证流程。
我的代码如下所示:
var provider = new firebase.auth.GoogleAuthProvider();
firebase.auth().signInWithRedirect(provider).then((result) => {
// console.log('@$ signin wiht google worked!' + e +', user is: ' + firebase.auth().currentUser.uid);
console.log('@$ signin wiht google worked!' + result.user);
}).catch((e) => {
console.log('@$ signin wiht google failed!' + e);
firebase.auth().signInAnonymously().then((user) => {
console.log('@$ signed in anonymously againQ ' + user.uid);
// console.log('@$ and firebase knows it: ' + firebase.auth().currentUser.uid);
}).catch((e) => {
console.log('@$ signed in anonymously failed ' + e);
})
})
问题是,虽然这在台式机上运行良好,但在移动设备上根本无法运行。我已经尝试了 "signInWithRedirect" 和 "signInWithPopup",但是当我在我的华为荣耀 phone 上调用这些方法时,没有任何反应(在任何浏览器中)。
我是不是哪里做错了,还是 Firebase 网络身份验证在移动设备上不起作用?
这有点尴尬,但它可能对其他人有所帮助。结果证明真正的问题与移动设备没有任何关系,但实际上我使用的是自定义域并且忘记将其添加到控制台的 auth 部分。当我在打开 chrome 开发工具的情况下测试生产应用程序时,我可以在控制台中看到此错误:
在 firebase 控制台的这一部分添加我的自定义域有效:
前段时间我尝试过类似的方法,但很长一段时间我都放弃了这种登录方式,因为在开发阶段它对我不起作用。
正是因为这个原因,因为在开发阶段,我通过地址类型 192.157.2.3:3000 进入我的服务器
尝试使用 signInWithPopup 和 signInWithRedirect 它对我不起作用
错误是 firebase 不支持来自 192.157.2.3:3000 的请求,这个问题已经在生产中用 "firebase deploy" 简单地解决了。
Here 是一个例子,尽管 Angular 是相同的