Flutter web firebase身份验证问题



我在flutter web中面临firebase身份验证问题,下面我正在粘贴web的索引文件代码。。。

<body>
<script src="https://www.gstatic.com/firebasejs/7.17.1/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.17.1/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.17.1/firebase-analytics.js"></script>

<script>
// Your web app's Firebase configuration
var firebaseConfig = {
apiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
authDomain: "xxxxxxxxxxxxx.firebaseapp.com",
databaseURL: "https://xxxxxxxxxxx.firebaseio.com",
projectId: "xxxxxxxxxxxxx",
storageBucket: "xxxxxxxxxxxxx.appspot.com",
messagingSenderId: "xxxxxxxxxx",
appId: "1:xxxxxxxxx:web:xxxxxxxxxxxxx",
measurementId: "G-xxxxxxxxx"
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
firebase.analytics();
</script>
<script src="main.dart.js" type="application/javascript"></script>
</body>

在我的pubspec.yaml文件中,我有firebase依赖项

firebase_core: ^0.4.0+9
firebase_analytics: ^5.0.2
firebase_auth: ^0.14.0+5
cloud_firestore: ^0.12.9+5
firebase_storage: ^3.1.6
firebase_messaging: ^6.0.16
firebase: ^7.3.0

整个身份验证代码在移动Android/Ios中有效,但在网络中无效,我看不到任何日志。第二次点击登录按钮时,唯一的日志出现,第一次什么都没发生——这是主要问题,任何人都请帮助我解决我的问题,谢谢。

通道溢出:plugins.flutter.io/firebase_auth。此通道上的消息将以FIFO方式丢弃。引擎可能没有运行,或者您需要调整通道的缓冲区大小。

MissingPluginException(在通道插件.flutter.io/firebase_auth上找不到方法signInWithCredential的实现(

我的签名代码

AuthResult authResult = await EmailPassAuthentication.loginWithEmail(
// invoked on error
() {
if (kIsWeb) {
showDialog(
context: context,
builder: (BuildContext ctx) {
return AlertDialog(
title: Text('Invalid Login Details'),
content: Text('Incorrect email or password !'),
);
},
);
} else {
showSnackBar('Incorrect email or password !', false);
}
},
email: user.email,
password: user.password,
);
if (authResult != null && authResult.user != null) {
// user logged in success.
user = await FirestoreHelper.getUserFromData(authResult.user);
//      showSnackBar('Successfuly Logged in', true);
_navigate();
}

以及静态loginWithEmail方法,我在其中处理签名

FirebaseAuth auth = FirebaseAuth.instance;
AuthResult authResult = await auth.signInWithEmailAndPassword(email: email, password: password).catchError(
(error) {
onErrorCallback.call();
},
);
return authResult;

您使用的是firebase的旧版本,最好的做法是更新所有依赖项。因此打开终端并执行:

flutter pub outdated

以上内容将识别过期的包依赖项,并获得如何更新它们的建议,使用过时的命令。有关详细信息,请参阅Dart pub过期文档。

然后执行:

flutter pub upgrade

这将升级包。

https://flutter.dev/docs/development/tools/sdk/upgrading#upgrading-包装

相关内容

  • 没有找到相关文章

最新更新