2017-01-09 26 views

Trả lời

2

Tôi không nghĩ rằng có một thực hiện trực tiếp trong Flutter Dart

Nhưng có lẽ bằng cách sử dụng một cài đặt bản địa và giao tiếp với Java/code Swift. Bạn có thể xây dựng giao diện người dùng của mình và kích hoạt luồng công việc OAuth gốc từ chế độ rung.

https://github.com/flutter/flutter/tree/master/examples/hello_services

1

Google đăng nhập tồn tại cho Flutter qua gói google-sign-in. Xem bảng mã Firebase for Flutter để biết thêm thông tin.

AFAIK, chưa có gói đăng nhập Facebook cho Flutter (mặc dù có sẵn trong Dart cho phía máy chủ). Viết một gói như vậy phải là một bài tập thú vị ...

3

Kể từ tháng 12 năm 2017, có Giải pháp đăng nhập Facebook và 1 cho Đăng nhập Facebook bằng Firebase để tạo Người dùng Firebase trên Facebook. Ban đầu Facebook Connect Login trọn gói có thể được tìm thấy @https://pub.dartlang.org/packages/flutter_facebook_connect

Nó đòi hỏi gói WebView sau đó chuyển hướng đến trang đăng nhập của Facebook @https://pub.dartlang.org/packages/flutter_webview_plugin

Và một nút tùy chỉnh có thể được thực hiện như vậy ...

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

FacebookOAuthToken token = await _facebookConnect.login(); 

Các token sau đó có thể được sử dụng với FirebaseAuth như vậy ...

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

Một vài bước bổ sung, nhưng tổng thể thực hiện khá thẳng về phía trước. Ngoài ra còn có phương pháp Firebase_Connect để triển khai Nút Đăng nhập Facebook ...

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

Đăng nhập Google thậm chí còn dễ dàng hơn. Chỉ cần thêm Gói Google_SignIn từ https://pub.dartlang.org/packages/google_sign_in và thêm mã sau vào nút Rung tùy chỉnh của bạn ...

GoogleSignInAccount googleUser = await _googleSignIn.signIn(); 
     GoogleSignInAuthentication googleAuth = await googleUser.authentication; 
     await FirebaseAuth.instance.signInWithGoogle(
      idToken: googleAuth.idToken, accessToken: googleAuth.accessToken); 
Các vấn đề liên quan