我有以下场景:Flutter 应用程序由 AWS 上的 Spring Boot 应用程序支持。用户第一次尝试登录时,他们将通过 Spring Security 使用 OAuth2 进行身份验证,并获得一个 JWT token ,该 token 保存在应用程序的内存中以供将来交互。
除了第一个 token 之外,还有一个辅助 Firebase token ,使用 Firebase 私钥签名,用于与 Firestore 数据库的所有交互。
Firebase 连接得到了很好的处理,包括在失去互联网连接期间,但每当用户尝试(首先或重新)打开应用程序并且互联网连接不可用时,它会在 Firebase 登录期间挂起。
有什么办法可以绕过这个吗? 我知道他们无法在没有互联网连接的情况下进行身份验证,但我希望允许用户在离线时访问他们的 Firestore 本地缓存。
最佳答案
您可以启用离线持久化,在网络中它默认是禁用的:
firebase.firestore().enablePersistence()
.catch(function(err) {
if (err.code == 'failed-precondition') {
// Multiple tabs open, persistence can only be enabled
// in one tab at a a time.
// ...
} else if (err.code == 'unimplemented') {
// The current browser does not support all of the
// features required to enable persistence
// ...
}
});
您可以了解更多here
关于firebase - 如何在应用程序离线时绕过 Firebase 身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64445049/