facebook - 如何在颤动中使用 facebook 执行 Firebase 身份验证
问题描述
我正在尝试在我的应用中添加 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 身份验证。
我已经看过这个答案,但没有帮助,只有 facebook 登录代码示例。我找到了这篇文章,但没有方法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 版有方法“登录”:
final result = await facebookLogin.logIn(['email']);
推荐阅读
- youtube - 是否可以使用 YouTube 数据 API 查看某个 YouTube 视频在给定年份的观看次数?
- c++ - 如何打印此代码中小数点后四位的结果?
- docusignapi - DocuSign SOAP - 如何将外部链接添加到信封和电子邮件退回
- assembly - 用另一个寄存器 ARMv8 中的值偏移索引
- css - CSS Flex - 调整 - 等行
- spring-boot - 无法调用“com.fasterxml.jackson.databind.JsonNode.numberValue()”
- c - С - 为什么 if() 语句中的 scanf() 工作不正确?
- python - 使用 pandas 在多列中应用 IF 条件
- r - 从 R 中的离散列创建 4 个新数据帧
- ios - SwiftUI 如何通过扩展 TextField 自动滚动 ScrollView?