如何在Flutter中使用Facebook执行Firebase身份验证

时间:2019-05-07 06:14:59

标签: facebook firebase flutter firebase-authentication facebook-authentication

我正在尝试在我的应用程序中添加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

1 个答案:

答案 0 :(得分:2)

您必须使用凭据

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...
    });
...