gpt4 book ai didi

Flutter Firebase 身份验证忽略 header X-Firebase-Locale,因为它的值为 null

转载 作者:行者123 更新时间:2023-12-05 09:01:16 29 4
gpt4 key购买 nike

我正在尝试通过电子邮件和密码注册和登录将 Firebase 身份验证添加到我的应用程序。当我对其进行测试时,它不会导航到下一个屏幕并且我收到以下消息:

“忽略 header X-Firebase-Locale,因为它为空”

但是,当我转到 Firebase 时,它​​显示我输入的信息已存储为新用户。有人可以提供一些关于正在发生的事情的见解吗?

这是我的 main.dart:

int? isViewed;
Future <void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();

final prefs = await SharedPreferences.getInstance();
final showLogin = prefs.getBool('showLogin') ?? false;
Paint.enableDithering = true;

// This is for our onboarding screen
isViewed = prefs.getInt('onboard');

runApp(MyApp(showLogin: showLogin));
}

class MyApp extends StatelessWidget {
final bool showLogin;

const MyApp({Key? key,
required this.showLogin}) : super(key: key);


@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Strength',
debugShowCheckedModeBanner: false,
theme: ThemeData(
appBarTheme: const AppBarTheme(color: Color(0xffe0eff5),
elevation: 0,
brightness: Brightness.light,
iconTheme: IconThemeData(color: Colors.black),
textTheme: TextTheme(headline6: TextStyle(color: Color(0xff888888), fontSize: 18),
)
),),
home: const SplashScreen(),
);
}
}

这是我的 signup.dart 的一部分:

class SignUpScreen extends StatefulWidget {
const SignUpScreen({Key? key}) : super(key: key);

@override
_SignUpScreenState createState() => _SignUpScreenState();

}

class _SignUpScreenState extends State<SignUpScreen> {
TextEditingController _passwordTextController = TextEditingController();
bool showPassword = false;
bool _isPasswordEightLetters = false;
bool _OneNumberPassword = false;
TextEditingController _emailTextController = TextEditingController();

OnPasswordChanged(String password) {

final numericRegex = RegExp(r'[0-9;]');

setState(() {

_isPasswordEightLetters = false;
if (password.length >= 8) {
_isPasswordEightLetters = true;
}

_OneNumberPassword = false;
if(numericRegex.hasMatch(password)) {
_OneNumberPassword = true;
}
});
}
.
.
.

Container(
child: TextFormField(
controller: _emailTextController,
style: const TextStyle(color: Colors.black),
keyboardType: TextInputType.emailAddress,
// inputFormatters: <TextInputFormatter>[
// FilteringTextInputFormatter.allow(RegExp(r'[0-9]'))
// ],
decoration: InputDecoration(
hintText: "Enter Your Email Address",
hintStyle: const TextStyle(color: Color(0xff31708c),
fontSize: 15.5),
prefixIcon: const Icon(Icons.email_sharp,
color: Color(0xff31708c)),
focusedBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
borderSide: const BorderSide(color: Color(0x6630728c))),
enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
borderSide: const BorderSide(color: Color(0x6630728c),
),
),
),
autofillHints: const [AutofillHints.email]
),
decoration: BoxDecoration(color: Colors.blueGrey.withOpacity(0.08),
borderRadius: BorderRadius.circular(10)),
)
.
.
.
ButtonTheme(
minWidth: MediaQuery.of(context).size.width,
height: 55,
buttonColor: const Color(0xff31708c),
child: RaisedButton(
onPressed: () {
FirebaseAuth.instance.createUserWithEmailAndPassword(
email: _emailTextController.text,
password: _passwordTextController.text).then((_) {
print('New Account Created');
Navigator.of(context).
pushReplacement(MaterialPageRoute(builder: (context) => Dashboard()));
}
).onError((error, stackTrace) {
print('Error');
});
},
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20),
),
child: const Text("Sign Up",
style: TextStyle(color: Colors.white,
fontSize: 18,
fontWeight: FontWeight.bold),
),
),
)

最佳答案

准备

  1. 检查您的模拟器是否有权访问互联网并连接到。
  2. 您的 firebase 控制台中的电子邮件/密码登录方法已启用以获得访问权限。

第 1 步: 创建 sha1 key + 调试 key 信息 + 添加 firebase。我猜你的 sha1 key 可能只有来自发布 key 的正常信息?

第 2 步:从 console.cloud.google.com 激活 Android 设备验证并插入 firebase 自动生成的 sha key + 他们的匹配首选项(如 package name...)

结论

我觉得你的代码不错!一切都设置正确。我认为您忘记了一些琐碎的设置或正确的 sha key 。

关于Flutter Firebase 身份验证忽略 header X-Firebase-Locale,因为它的值为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73654264/

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