[英]Flutter Firebase Authentication requires 2 clicks for sign in
我刚刚将我的应用程序与 firebase 身份验证相关联,但是当我尝试单击登录按钮时:它说
W/System ( 6835): Ignoring header X-Firebase-Locale because its value was null.
这是我关于 firebase 身份验证的代码:`
void signIn() async{
final User? user = (await auth.signInWithEmailAndPassword(email: mailController.text, password: passController.text)).user;
final uid = user!.uid;
if(uid != null){
if(this.mounted){
setState((){
success = 2;
userMail = user.email!;
userName = userMail;
userName = userMail.replaceFirst(userName[0],"");
userName = userName.substring(0,userName.indexOf("@"));
userName = userName.replaceFirst(userName[0],userName[0].toUpperCase());
});
}}
else{
setState((){
success = 3;
});
}
}
`
if(success == 2){
if(userMail.startsWith("1")){
Navigator.pushReplacement(context,MaterialPageRoute(builder:(context) => OgrenciPage(mail:userName)));
}
``
我试图创建 sha-1 密钥,关闭蓝牙连接,但它从来没有用过。
我之前也遇到过这个问题,然后通过使函数 Future asyn{} 和使用 try catch 块来解决这个问题。
在我的例子中,我创建了登录类模型,我在其中执行所有登录/注册功能
这是示例代码,您可以在其中了解如何管理它:
class Login {
FirebaseAuth firebaseAuth = FirebaseAuth.instance;
Future<void> signInUser(
String email, String password, BuildContext context) async {
try {
await firebaseAuth.signInWithEmailAndPassword(
email: email, password: password);
} on FirebaseAuthException catch (e) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text(
e.toString(),
),
backgroundColor: Colors.redAccent,
duration: const Duration(seconds: 2),
),
);
} catch (error) {
rethrow;
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.