gpt4 book ai didi

android - 如何在 firebase 中检查用户电子邮件和密码验证以登录

转载 作者:行者123 更新时间:2023-11-29 22:35:10 25 4
gpt4 key购买 nike

如何在 firebase 中检查用户电子邮件和密码验证以登录到另一个页面我已经在 firebase 中设置了所有内容并在 android studio 中设置了依赖项

signin.dart:

import 'package:flutter/material.dart';
import 'package:flutter_app/pages/home.dart';
import 'package:firebase_auth/firebase_auth.dart';

class LoginPage extends StatefulWidget {
@override
_LoginPageState createState() => new _LoginPageState();
}

class _LoginPageState extends State<LoginPage> {
String _email, _password;

@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(),
body: Form(
child: Column(
children: <Widget>[
TextFormField(
decoration: InputDecoration(
labelText: 'Email'
),
onSaved: (input) => _email = input,
),
TextFormField(
decoration: InputDecoration(
labelText: 'Password'
),
onSaved: (input) => _password = input,
obscureText: true,
),
RaisedButton(
onPressed: loginUser,
child: Text('Sign in'),
),
],
)
),
);
}

Future<FirebaseUser> loginUser() async {
try {
await FirebaseAuth.instance
.signInWithEmailAndPassword(email: _email, password: _password);
Navigator.push(context, MaterialPageRoute(builder: (context) => Home()));
// since something changed, let's notify the listeners...
} catch (e) {
// throw the Firebase AuthException that we caught
throw new AuthException(e.code, e.message);
}
}
}

它给了我

E/flutter (20243): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: NoSuchMethodError: Class '_AssertionError' has no instance getter 'code'.
E/flutter (20243): Receiver: Instance of '_AssertionError'
E/flutter (20243): Tried calling: code
E/flutter (20243): #0 Object.noSuchMethod (dart:core-patch/object_patch.dart:53:5)
E/flutter (20243): #1 _LoginPageState.loginUser (package:flutter_app/setup/signin.dart:51:33)
E/flutter (20243): #2 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:706:14)
E/flutter (20243): #3 _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:789:36)
E/flutter (20243): #4 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)
E/flutter (20243): #5 TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:486:11)
E/flutter (20243): #6 BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:264:5)
E/flutter (20243): #7 BaseTapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:199:7)
E/flutter (20243): #8 PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:467:9)
E/flutter (20243): #9 PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:76:12)
E/flutter (20243): #10 PointerRouter._dispatchEventToRoutes.<anonymous closure> (package:flutter/src/gestures/pointer_router.dart:117:9)

E/flutter (20243): #11 _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:379:8)E/flutter (20243): #12 PointerRouter._dispatchEventToRoutes (包:flutter/src/gestures/pointer_router.dart:115:18)

最佳答案

回复评论中进一步提出的问题,让您的变量在输入时被填充,然后在您调用 Firebase 进行身份验证时更正,更改 中的 onSaved 属性TextFormFieldonChanged:

TextFormField(
decoration: InputDecoration(
labelText: 'Email'
),
onChanged: (input) => _email = input,
),
TextFormField(
decoration: InputDecoration(
labelText: 'Password'
),
onChanged: (input) => _password = input,
obscureText: true,
),

关于android - 如何在 firebase 中检查用户电子邮件和密码验证以登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59554663/

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