2017-01-09 222 views

回答

1

谷歌登入通過google-sign-in包存在顫振。查看Firebase for Flutter codelab瞭解更多信息。 AFIK,Flutter還沒有Facebook登錄包(儘管服務器端存在Dart)。編寫這樣一個包應該是一個有趣的練習...

3

截至2017年12月,有一個Facebook登錄解決方案,還有1個Facebook登錄與Firebase創建一個Facebook的FirebaseUser。最初的Facebook連接登錄包可以發現@https://pub.dartlang.org/packages/flutter_facebook_connect

它需要以下webView的包重定向到Facebook的登錄頁面@https://pub.dartlang.org/packages/flutter_webview_plugin

和一個自定義按鈕,可像這樣實現...

final _facebookConnect = new FacebookConnect(
      appId: '<APP_ID>', 
      clientSecret: '<CLIENT_SECRET'); 

FacebookOAuthToken token = await _facebookConnect.login(); 

token可以然後用FirebaseAuth像這樣被使用...

await FirebaseAuth.instance.signInWithFacebook(accessToken: null); 

幾個額外的步驟,但總體上非常簡單的執行。還有一個Firebase_Connect方法來實現FacebookLogin按鈕...

new FacebookLoginButton(
      appId: '<APP_ID>', 
      clientSecret: '<CLIENT_SECRET>', 
      scope: [FacebookAuthScope.publicProfile], 
      onConnect: (api, token) { 
      ... 
      }), 

的谷歌登錄更容易。只需從https://pub.dartlang.org/packages/google_sign_in添加Google_SignIn包,並將以下代碼添加到您的自定義Flutter按鈕...

GoogleSignInAccount googleUser = await _googleSignIn.signIn(); 
     GoogleSignInAuthentication googleAuth = await googleUser.authentication; 
     await FirebaseAuth.instance.signInWithGoogle(
      idToken: googleAuth.idToken, accessToken: googleAuth.accessToken); 
相關問題