Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import 'package:kuzzle/kuzzle.dart';
- import 'package:google_sign_in/google_sign_in.dart';
- import 'package:flutter_facebook_login/flutter_facebook_login.dart';
- class LoginScreen extends StatelessWidget {
- void signInWithGoogle(BuildContext context) async {
- final GoogleSignInAccount googleSignInAccount = await _googleSignIn.signIn();
- final GoogleSignInAuthentication googleSignInAuthentication =
- await googleSignInAccount.authentication;
- KuzzleUser _kuzzleUser;
- try {
- await kuzzle.auth.login(
- 'google-token',
- Map<String, dynamic> {
- 'access-token': googleSignInAuthentication.accessToken,
- }
- expiresIn: '1y',
- );
- final KuzzleUser _kuzzleUser = await kuzzle.auth.getCurrentUser();
- } catch (_) {
- // throw ...
- }
- if (_kuzzleUser == null) {
- // throw
- }
- }
- void signInWithFacebook(BuildContext context) async {
- KuzzleUser _kuzzleUser;
- final result = await facebookLogin.logInWithReadPermissions(['email']);
- switch (result.status) {
- case FacebookLoginStatus.loggedIn:
- try {
- await kuzzle.auth.login(
- 'facebook-token',
- Map<String, dynamic> {
- 'access-token': result.accessToken.token,
- }
- expiresIn: '1y',
- );
- final KuzzleUser _kuzzleUser = await kuzzle.auth.getCurrentUser();
- } catch (_) {
- // throw ...
- }
- if (_kuzzleUser == null) {
- // throw
- }
- break;
- case FacebookLoginStatus.cancelledByUser:
- break;
- case FacebookLoginStatus.error:
- break;
- }
- @override
- Widget build(BuildContext context) {
- return Scaffold(
- body: Row(
- children: <Widgets>[
- RaisedButton(
- child: Text('Login with Facebook'),
- onPressed: () async {
- await this.signInWithFacebook(context);
- },
- ),
- ]
- )
- );
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement