如何区分firebase电子邮件验证用户和;Flatter中的firebase google auth用户?

如何区分firebase电子邮件验证用户和;Flatter中的firebase google auth用户?,firebase,flutter,firebase-authentication,Firebase,Flutter,Firebase Authentication,我使用Firebase进行身份验证,我需要为Google Auth用户和电子邮件Auth用户保留不同的删除屏幕,因为Google Auth用户不需要提供密码。因此,我想知道FirebaseAuth是否提供了一些功能,可以区分用户是否使用电子邮件或谷歌进行身份验证?您可以从其网站上找到创建特定用户帐户的提供商 如果使用帐户链接允许单个用户登录多个提供商,则必须迭代并检查每个提供商的UserInfo.providerId 以下函数应该有助于为Firebase Email Auth用户返回“密码”,或

我使用Firebase进行身份验证,我需要为Google Auth用户和电子邮件Auth用户保留不同的删除屏幕,因为Google Auth用户不需要提供密码。因此,我想知道FirebaseAuth是否提供了一些功能,可以区分用户是否使用电子邮件或谷歌进行身份验证?

您可以从其网站上找到创建特定用户帐户的提供商

如果使用帐户链接允许单个用户登录多个提供商,则必须迭代并检查每个提供商的
UserInfo.providerId

以下函数应该有助于为Firebase Email Auth用户返回“密码”,或为google Auth用户返回“google.com”

final FirebaseAuth _firebaseAuth = FirebaseAuth.instance;
. . . . 
. . . .
. . . .
Future<String> getAuthType() async {
    final FirebaseUser firebaseUser = await _firebaseAuth.currentUser();
    String authType = firebaseUser.providerData[1].providerId;
    return authType;
}
final FirebaseAuth\u FirebaseAuth=FirebaseAuth.instance;
. . . . 
. . . .
. . . .
未来的getAuthType()异步{
final FirebaseUser FirebaseUser=wait_firebaseAuth.currentUser();
字符串authType=firebaseUser.providerData[1].providerId;
返回authType;
}
您可以将这些信息用于自己的优势,并相应地创建小部件或屏幕