Flutter Firebase auth facebook无法正常工作

Posted

技术标签:

【中文标题】Flutter Firebase auth facebook无法正常工作【英文标题】:Flutter Firebase auth facebook not working 【发布时间】: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 配置阻止了登录... 【参考方案1】:

问题出在密钥选项上:

我没有将它添加到我的应用程序中,因此启用此设置会阻止应用程序生成有效令牌到 firebase。

【讨论】:

以上是关于Flutter Firebase auth facebook无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

flutter-firebase_auth-gradlew.bat 异常退出

Flutter Firebase Auth 新更新 [重复]

Flutter Firebase auth facebook无法正常工作

Flutter 应用程序错误将尝试连接 Firebase 和 Auth

在 iOS 中使用 LinkedIn + firebase auth + Flutter 登录

Flutter - firebase_auth updateProfile 方法不起作用