【发布时间】:2021-07-14 21:57:20
【问题描述】:
我正在尝试为我的 Flutter 应用用户实现不同的登录选项,但无法使 facebook 工作(谷歌和电子邮件都可以)。
我已经关注了 flutter_facebook_auth 包中的 installation guide,但是当从 facebook 提供的令牌将用作创建 firebase 用户的凭据时仍然出现错误:
我的代码:
import 'package:flutter_facebook_auth/flutter_facebook_auth.dart';
import 'package:firebase_auth/firebase_auth.dart';
final FirebaseAuth _auth = FirebaseAuth.instance;
String usermail = "";
Future returnToken(User user) async {
token = word + await user.getIdToken();
}
Future<List<String>> facebookSignin() async {
try {
final _instance = FacebookAuth.instance;
final result = await _instance.login(permissions: ["email"]);
if (result.status == LoginStatus.success) {
final OAuthCredential credential = FacebookAuthProvider.credential(result.accessToken.token);
final a = await _auth.signInWithCredential(credential); //the error is in this line
await _instance.getUserData().then((userData) async {
await _auth.currentUser.updateEmail(userData["email"]);
userMail = userData["email"];
});
await returnToken(a.user);
return ["ok"];
} else if (result.status == LoginStatus.cancelled) {
return ["Erro!", "Login cancelado"];
} else
return ["Erro!", "Falha no login"];
} catch (e) {
return ["Erro!", e.toString()];
}
}
【问题讨论】:
-
您在 Facebook 开发者控制台上的应用是处于生产模式还是开发模式?您需要将 dev 和 prod 的哈希键添加到 Facebook。如果您尚未添加发布密钥并尝试使用未在 Facebook 中列为开发人员的 Facebook 帐户登录,或者您实际上并不拥有该应用程序,则会收到此错误。
-
我已经添加了 dev 和 debug 键。今天下午发现问题:其中一个 oauth 配置阻止了登录...
标签: android facebook flutter firebase-authentication