ios - 在 iOS 上使用 FirebaseUI 自动登录
问题描述
我正在按照此处的文档使用 FirebaseUI 在 iOS 应用程序上显示登录屏幕。 https://firebase.google.com/docs/auth/ios/firebaseui?authuser=2
如何在用户之前已经登录后自动登录,而无需每次都显示此 UI?
解决方案
Firebase Auth SDK 将在应用启动之间保留登录信息。但是,当应用程序启动时,登录的用户不会立即可用。您应该做的是使用addStateDidChangeListener建立一个身份验证状态侦听器,以查明经过身份验证的用户何时确实已登录。
这种模式可以在另一个问题中看到:Checking Firebase current signed-in user via Listener in iOS
FIRAuth.auth()?.addStateDidChangeListener { auth, user in
if let user = user {
// User is signed in. Show home screen
} else {
// No User is signed in. Show user the login screen
}
}
当第一次知道用户的状态时,将调用该块,因此您可以使用它来决定是否预设登录屏幕。
推荐阅读
- laravel - Livewire 如何在选择更改时 $emit 事件 (wire:model)
- powershell - PowerShell - 在设定时间前 5 分钟运行脚本
- c - 如何修复 C 中的地址边界错误
- python - 尝试在 django 视图生成的网页中显示图像
- python - 尝试从 BAT 文件运行使用 Webbot 的 Python3 脚本。我如何摆脱这个终端?
- ruby-on-rails - 为什么 Rails 迁移失败?
- django - 带铬的错误显示
- laravel - 如何在 Laravel 中根据外键选择 Eloquent
- javascript - 现在正在模态中访问 Js 脚本
- python - py文件转exe文件时调用sklearn失败