我正在使用go_router和firebase auth为我的web应用程序,但无法正确设置它。我尝试了以下操作:
class AuthService {
static final FirebaseAuth _firebaseAuth = FirebaseAuth.instance;
static User? get currentUser => FirebaseAuth.instance.currentUser;
static bool isLoggedIn() {
return _firebaseAuth.currentUser != null;
}
...
使用我的router
:
redirect: (context, state) {
final String destination = state.location;
final bool isOnStartView = destination == '/start';
final bool isOnEmailFlow = state.subloc.contains('/email');
if (!isOnStartView && !isOnEmailFlow && !AuthService.isLoggedIn()) {
return '/start';
}
return null;
},
然而,这并不能正常工作,因为即使有用户登录,isLoggedIn
也总是返回false
。我搜索了这个主题,发现我可能将某种Stream
或Notifier
与onAuthStateChange
一起使用,但我没有找到任何关于如何结合GoRouter实现正确的FirebaseAuthentication Flow的内容。
我该怎么做?
如果你需要更多信息就告诉我。
1条答案
按热度按时间vxf3dgd41#
你能做到的