如果“SignInWithFacebook”不再可用,我该如何创建一个带有firebase的facebook登录页面?

Posted

技术标签:

【中文标题】如果“SignInWithFacebook”不再可用,我该如何创建一个带有firebase的facebook登录页面?【英文标题】:How can I create a facebook login page with firebase in flutter if "SignInWithFacebook" is not availabre anymore? 【发布时间】:2019-10-22 07:40:59 【问题描述】:

我正在尝试创建一个 facebook 登录页面,但我看到他们在任何地方都使用 signInWithFacebook,不幸的是,他们似乎已经对其进行了修改,并且它不再可用,我应该怎么做?感谢您的帮助!

class _AuthScreenState extends State<AuthScreen> 


FirebaseAuth _auth = FirebaseAuth.instance;

bool isLogged = false;

Future<FirebaseUser> _loginWithFacebook() async 
 var facebookLogin = new FacebookLogin();
 var result = await 
  facebookLogin.logInWithReadPermissions(["email"]);

  debugPrint(result.status.toString());

if (result.status == FacebookLoginStatus.loggedIn) 
   FirebaseUser user = await _auth.????/

  


【问题讨论】:

flutter_facebook_login 是一个广受好评的库,具有非常相似的 API。查看插件文档或this SO answer了解更多详情。 谢谢你的回答,这个方法真的很管用,我可以用,可惜没有连接到Firebase。 啊,确实。所以我看到这个实现的方式是使用 Firebase 的signInWithCredential,将你从成功的flutter_facebook_login 授权流中收到的访问令牌传递给这个方法。 firebase_auth source reference。源代码注释指出“使用给定的第 3 方凭据(例如 Facebook 登录访问令牌...... 感谢您的关注,我可以用 signInWithCredential(FacebookAuthProvider.getCredential(accessToken:! 【参考方案1】:

我能够弄明白,我需要“signInWithCredential(FacebookAuthProvider.getCredential(accessToken:))”而不是 signInWithFacebook。我看到它与 Google 登录相同,而不是使用“FacebookAuthProvider”你需要使用“GoogleAuthProvider”!

【讨论】:

以上是关于如果“SignInWithFacebook”不再可用,我该如何创建一个带有firebase的facebook登录页面?的主要内容,如果未能解决你的问题,请参考以下文章

如果名称空间的网站不再可访问,会发生啥情况?

FireFox 4 不再支持可滚动的 TBody - 解决方法?

升级后的 Chromecast - 设备不再可检测

UIScrollView 与其他 UIElement 重叠,因此它们不再可点击

如何使按钮按下一次然后不再可按下?

jQuery可以更改输入提交类型的文本但按钮不再可点击