如何在颤动中使用facebook执行firebase身份验证[重复]
Posted
技术标签:
【中文标题】如何在颤动中使用facebook执行firebase身份验证[重复]【英文标题】:How can I perform firebase authentication with facebook in flutter [duplicate] 【发布时间】:2019-09-24 18:12:42 【问题描述】:我正在尝试在我的应用中添加 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】:你必须使用凭证
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...
);
...
UPD:
flutter_facebook_login
2.0.1 版运行良好
目前对于 3.0.0 版,有方法“登录”:
final result = await facebookLogin.logIn(['email']);
【讨论】:
The method 'logInWithReadPermissions' isn't defined for the class 'FacebookLogin'
这是旧版本的。对于新的 - 我已经更新了答案
如何将 Facebook 与 graphResponse 结合以获得更多信息?
result.accessToken.toMap()
这可以为您提供更多信息以上是关于如何在颤动中使用facebook执行firebase身份验证[重复]的主要内容,如果未能解决你的问题,请参考以下文章
颤动中的Facebook登录错误:访问令牌错误:“code”:190,“message”:“无效的OAuth访问令牌。”],null)
如何在颤动中处理 Firebase Auth 未处理的异常? [复制]