- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在放弃运行 Express 的自己的 NodeJS 后端后,我们一直在应用程序上使用 Firebase,在此过渡期间,我们注意到一个主要缺点。客户端接收初始身份验证状态所需的时间。
当我的应用程序打开时,我立即注册onAuthStateChanged
回调以开始监听身份验证状态的更改,这样我就可以将用户路由到他们的个人中心或验证屏幕。
问题是,虽然有时这只需要几毫秒,但有时(与互联网连接无关)则需要 20 秒以上,导致用户体验极差。
我们在 UIWebView 组件上使用 Firebase WEB API。
我已经在 3G、4G、LTE 和 Wifi 上对此进行了测试,它是完全随机的。有时它会像闪电一样加载。有时它太慢了,我怀疑服务的可靠性。
有些人可能会说这是因为我们必须下载用户数据,但我们等待的 20-30 秒是在我们尝试从服务器提取数据之前。这只是为了获取初始授权状态。我们仅使用电子邮件提供商。
有人知道我们可以做些什么来改进这个吗?平均而言,onAuthStateChanged
回调在应用程序执行后 562ms
定义。此后有时可能需要20-200ms
(平均延迟),有时需要20000ms+
最佳答案
我可以通过将我的域名添加到 Firebase 控制台 > 身份验证 > 登录方法中的“OAuth 重定向域名”部分来解决此问题。
我已添加 Firebase 提供的域名,但在设置后忘记添加自定义域名。
关于Firebase onAuthStateChanged 回调有时需要 20 秒以上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39223342/
当用户访问我的站点时,我使用 onAuthStateChanged确定用户是否已经从先前的 session 中登录。 主要问题是它对于一小部分用户来说是不一致的 - 代码似乎没有检测到他们确实有一个有
这个问题在这里已经有了答案: Firebase stop listening onAuthStateChanged (2 个答案) 关闭 6 年前。 以前我在 firebase.auth.curre
我正在尝试制作一个跟踪用户身份验证状态的模块。目前看起来像这样: import FbApp from './firebase-app'; var AuthStatus = { LoggedIn
当我登录后立即刷新网页时,以下代码会生成一个空用户。此外,当访问 token 过期时,页面会自动注销。如何解决这个问题? function initApp() { firebase.auth(
我一直在为 React Native 应用程序使用 Firebase 匿名身份验证,主要是为了确保用户只能读/写他们自己的数据(例如检查安全规则中的 auth && auth.uid) 以前,使用 F
在我的flutter应用程序中,我尝试使用Provider包中的ChangeNotifier将Firebase用户对象传递给降序的小部件。我的第一个想法是在StreamBuilder中执行以下操作:
我正在使用Firebase身份验证和Firestore数据库创建一个flutter应用程序,以存储用户个人资料。 验证用户身份后,我想将用户的个人资料文档作为流获取,并提供给所有小部件使用。 这是我的
我希望在我的应用中的用户状态发生变化时收到通知。我的意思是,当它刚刚登录和刚刚注销时。我不想在刷新用户 token 或每次应用程序启动并且用户自动登录时收到通知。 我正在使用预期的处理程序: Fire
我有这段代码可以检查用户是否已经在 Firebase 中登录,如果是,则使用 Redux 分派(dispatch)操作并将状态更新为当前授权用户。 /** * check to see if the
我是 Firebase 的新手。我正在尝试使用 React + Redux 登录。当我点击“登录”时,它将让我登录一次,然后再次调用 onAuthStateChanged 并且 res 为空,这让我退
我完全知道 onAuthStateChange 函数在注册后立即触发,但事实并非如此。在用户使用用户名和密码登录后,我遇到此功能触发两次的问题。第一次启动时,我追溯到堆栈,它来 self 的代码,但第
我在 login.html 中使用 Firebase 基于密码的身份验证。我有 2 个文本框和 3 个按钮。 我使用 firebase.OnAuthStateChanged 来了解用户是否登录或注销。
从版本 ^3.0.0 开始,我很难删除身份验证状态更改监听器。 根据文档启动监听器: firebase.auth().onAuthStateChanged(function (user) {
首次安装时,应用程序运行没有任何问题。 在启动画面检查登录状态。 用户未登录,导航到登录屏幕。 但 unsubscribe() 不是函数 当应用程序最小化然后重新打开时,错误显示并停留在启动画面。这只
当我将鼠标悬停在 onAuthStateChanged 上时,它会显示: (method) firebase.auth.Auth.onAuthStateChanged(nextOrObserver:
所以我在关注一个关于创建谷歌登录的教程。他说你需要使用 onAuthStateChanged收听登录/退出。我不明白的部分是他说该方法就像“开放订阅”,我们需要“关闭订阅”以防止内存泄漏。 所以在你看
在放弃运行 Express 的自己的 NodeJS 后端后,我们一直在应用程序上使用 Firebase,在此过渡期间,我们注意到一个主要缺点。客户端接收初始身份验证状态所需的时间。 当我的应用程序打开
我正在使用 firebase 创建一个应用程序。加载任何页面时,我都会通过以下代码检查身份验证。当我从登陆页面调用 isAuthenticated 时,即使用户已经登录并且持久性是 LOCAL( ht
我按照 Stack Overflow - How to redirect after a user signs in with Firebase authentication? 的说明进行操作 ind
目前我有一个授权系统来使用 angularfire 跟踪用户登录/注销状态。我正在查看的指南建议在每个 Controller 中使用 $onAuthStateChanged 。 $rootScope.
我是一名优秀的程序员,十分优秀!