如何检查用户是否通过Google或电子邮件和密码进行身份验证? [重复]

问题描述 投票:0回答:2

我想在我的应用程序的设置中实现“重置密码”按钮,但我认为我应该仅为使用电子邮件和密码进行身份验证的用户启用它,而不是为使用 Google 登录的用户启用它。

如何查看认证方式?因为我认为只有当用户使用电子邮件和密码登录时我才可以放置 If 语句并显示按钮

flutter firebase dart firebase-authentication
2个回答
4
投票

你可以使用,

FirebaseAuth.instance.currentUser.providerData

获取用户认证的具体提供者。 阅读更多这里


0
投票

将其存储在数据库中给定用户登录的方式,或者您可以使用 https://pub.dev/packages/shared_preferences 来存储值。

enum LoginType {
  EMAIL, GOOGLE
}

main() {
   final prefs = await SharedPreferences.getInstance();

   if (userLoggedInWithEmail()) {
      await prefs.setString('USER_LOGGED_IN_WITH', LoginType.EMAIL.toString());
   } else {
      await prefs.setString('USER_LOGGED_IN_WITH', LoginType.GOOGLE.toString());
   }
}
© www.soinside.com 2019 - 2024. All rights reserved.