gpt4 book ai didi

email - Flutter:验证一种谷歌帐户的方法?

转载 作者:IT王子 更新时间:2023-10-29 07:03:29 28 4
gpt4 key购买 nike

我正在为大学学生构建一个 flutter 应用程序(最新版本)。每个学生都有自己的电子邮件和密码(例如 s2170456@student.utwente.nl),它已集成在谷歌中,因此每个人都可以在 Gmail 中看到通知。

这也意味着;如果你想用谷歌登录,你的学生邮箱是一个选项。我想实现一个谷歌登录功能,只有大学的学生(他们的电子邮件是 sXXXXXXX@student.utwente.nl)才能登录。

我的问题是:有没有办法过滤 google 登录电子邮件?我考虑过使用普通电子邮件登录并使用 RegEx 进行验证,但这意味着学生应该首先注册。我想跳过整个注册过程,让学生使用他们已经拥有的学生电子邮件进行登录。

它应该看起来像这样(如果可能的话)VV

Widget googleLogin () {
googleLogin button()
if(googlelogin.email == sXXXXXXX@student.utwente.nl)
log user in;
} else {
return error message('invalid email')
}

我希望它只能使用学生邮箱注册和登录用户。

最佳答案

您可以像这样使用谷歌登录集成。

  GoogleSignInAccount _currentUser;

然后在初始状态:-

@override
void initState() {
super.initState();

_googleSignIn.onCurrentUserChanged.listen((GoogleSignInAccount account) {
setState(() {
_currentUser = account;
print("User Name ${_currentUser.displayName}");
print("User Email ${_currentUser.email}");
});

if (_currentUser != null) {
var socialData = SocialData(
_currentUser.displayName, "", _currentUser.email, LoginType.GOOGLE);
_startHomeScreen(socialData);
} else {
_showError('Error, Please try again later');
}
});

成功登录后,这将执行:-

 _startHomeScreen(SocialData data) {
Navigator.push(context, MaterialPageRoute(builder: (context) {
return Home(socialData: data);
}));
}


Future<void> _handleSignIn() async {
try {
await _googleSignIn.signIn();
} catch (error) {
print(error);
}
}

点击 google 登录按钮时调用 _handleSignIn()。

关于email - Flutter:验证一种谷歌帐户的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55982444/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com