如何在 flutter 中使用 facebook 执行 firebase 身份验证

How can I perform firebase authentication with facebook in flutter

我正在尝试在我的应用程序中添加 firebase 和 facebook 身份验证。 Facebook 身份验证已经完成:

final facebookLogin = FacebookLogin();
final result = await facebookLogin.logInWithReadPermissions(['email']);

switch (result.status) {
  case FacebookLoginStatus.loggedIn:
    final token = result.accessToken.token;
    final graphResponse = await http.get(
        'https://graph.facebook.com/v2.12/me?fields=name,first_name,last_name,email&access_token=$token');
    Map<String, dynamic> user = jsonDecode(graphResponse.body);
    // _onGetFacebookUser(user);

我不知道如何使用 facebook 结果执行 firebase 身份验证。

我已经看了this answer,但是没有帮助,只有facebook 登录代码示例。 我找到了this article,但是没有方法signInWithFacebook

您必须使用凭据

final result = await facebookLogin.logInWithReadPermissions(['email']);

switch (result.status) {
  case FacebookLoginStatus.loggedIn:
    final token = result.accessToken.token;
    AuthCredential fbCredential = FacebookAuthProvider.getCredential(accessToken: token);
    FirebaseAuth.instance.signInWithCredential(credential).then((FirebaseUser user) {
      // do something...
    });
...

更新:

它适用于 flutter_facebook_login 2.0.1 版 现在版本 3.0.0 有方法 'login':

final result = await facebookLogin.logIn(['email']);