FirebaseUser 使用颤振进行身份验证时出错 [重复]

Posted

技术标签:

【中文标题】FirebaseUser 使用颤振进行身份验证时出错 [重复]【英文标题】:Error in FirebaseUser for authentication using flutter [duplicate] 【发布时间】:2021-06-19 22:11:44 【问题描述】:

我是这种颤振的初学者。目前我正在尝试进行电子邮件身份验证以进行注册。我已经从网站/github/youtube 尝试了一些解决方案,但它变成了与FirebaseUser 相同的错误。这里附上我的代码段。

class _RegisterEmailSectionState extends State<_RegisterEmailSection> 

  void _register() async 
    final FirebaseUser user = (await
    _auth.createUserWithEmailAndPassword(
      email: _emailController.text,
      password: _passwordController.text,
    )
    ).user;
    if (user != null) 
      setState(() 
        _success = true;
        _userEmail = user.email;
      );
     else 
      setState(() 
        _success = true;
      );
    
  
  void dispose() 
    _emailController.dispose();
    _passwordController.dispose();
    super.dispose();
  

  final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
  final TextEditingController _emailController = TextEditingController();
  final TextEditingController _passwordController = TextEditingController();
  bool _success;
  String _userEmail;

@override
Widget build(BuildContext context) 
  return Scaffold(
    appBar: AppBar(
      title: Text(widget.title),
    ),
    body: Form(
      key: _formKey,
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: <Widget>[
          TextFormField(
            controller: _emailController,
            decoration: const InputDecoration(labelText: 'Email'),
            validator: (String value) 
              if (value.isEmpty) 
                return 'Please enter some text';
              
              return null;
            ,
          ),
          TextFormField(
            controller: _passwordController,
            decoration: const InputDecoration(labelText:
            'Password'),
            validator: (String value) 
              if (value.isEmpty) 
                return 'Please enter some text';
              
              return null;
            ,
          ),
          Container(
            padding: const EdgeInsets.symmetric(vertical: 16.0),
            alignment: Alignment.center,
            child: RaisedButton(
              onPressed: () async 
                if (_formKey.currentState.validate()) 
                  _register();
                
              ,
              child: const Text('Submit'),
            ),
          ),
          Container(
            alignment: Alignment.center,
            child: Text(_success == null
                ? ''
                : (_success
                ? 'Successfully registered ' + _userEmail
                : 'Registration failed')),
          )
        ],
      ),
    ),
  );

 

有什么我错过的吗?我不知道为什么我的代码中有FirebaseUser 错误。我认为这是由于firebase版本不同而导致的错误。我找到了flutter社区的人,他们说尝试将其更改为Authresult,但出现了同样的错误。

谁能帮我解决这个问题?提前谢谢!

【问题讨论】:

【参考方案1】:

改变

    final FirebaseUser user = ...

    final User user = ...

Here 是您想要进入的课程。它的类型为User

【讨论】:

以上是关于FirebaseUser 使用颤振进行身份验证时出错 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Firestore身份验证失败

如何使用颤振在 django 中进行 google、facebook 身份验证

使用 FirebaseUser 出错 - 表示已弃用 [重复]

错误:Facebook 身份验证对此用户无效。使用 Back4App 进行颤振

通过电子邮件/密码进行身份验证的颤振问题

颤振中的firebase电话身份验证问题