我的问题是如何找出当前登录的用户是否已使用Firebase手动登录或google登录进行了身份验证?
当我尝试访问类FirebaseUser
的用户属性时,当我尝试访问providerID时,即使我当前是通过Firebase通过Google登录提供程序登录的,它也会返回“ Firebase”。那么,有什么办法可以找出用户使用了哪个提供商来注册应用程序?
非常感谢您的帮助。下面是我已经编写的代码。
Future<FirebaseUser> getFirebaseUser() async {
FirebaseUser user = await _auth.currentUser();
print(user.email);
return user;
}
@override
void initState() {
// TODO: implement initState
super.initState();
startTimer();
}
void startTimer() {
timer = Timer.periodic(Duration(seconds: 2), (timer) {
if (getFirebaseUser() != null) {
// I Need to push to the menu screen while providing the parameters so that it can recognise if the user is from Firebase Manual Auth or google sign in provider.
//print(_user.providerId);
// Navigator.push(context, MaterialPageRoute(
// builder: (context)
// {
// SideBarLayoutStateful(app: MenuScreen(), isFromGoogleSignIn: ,resultUser: _user, profilePicture: _user.photoUrl,);
// }
//));
}
Navigator.pushNamed(context, 'welcome');
timer.cancel();
});
}
我需要在提供参数的同时按下菜单屏幕,以便它可以识别用户是来自Firebase手动身份验证还是来自Google登录提供商,这会影响菜单屏幕上显示的内容。
Future<FirebaseUser> getFirebaseUser() async {
FirebaseUser user = await _auth.currentUser();
print(user.email);
print(user.providerId);
return user;
}