Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 55 additions & 55 deletions example/lib/main.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:twitter_login/twitter_login.dart';


void main() {
runApp(MyApp());
Expand Down Expand Up @@ -73,77 +73,77 @@ class _MyAppState extends State<MyApp> {

/// Use Twitter API v1.1
Future login() async {
final twitterLogin = TwitterLogin(
/// Consumer API keys
apiKey: apiKey,
// final twitterLogin = TwitterLogin(
// /// Consumer API keys
// // apiKey: apiKey,

/// Consumer API Secret keys
apiSecretKey: apiSecretKey,
// /// Consumer API Secret keys
// // apiSecretKey: apiSecretKey,

/// Registered Callback URLs in TwitterApp
/// Android is a deeplink
/// iOS is a URLScheme
redirectURI: 'example://',
);
// /// Registered Callback URLs in TwitterApp
// /// Android is a deeplink
// /// iOS is a URLScheme
// redirectURI: 'example://',
// );

/// Forces the user to enter their credentials
/// to ensure the correct users account is authorized.
/// If you want to implement Twitter account switching, set [force_login] to true
/// login(forceLogin: true);
final authResult = await twitterLogin.login();
switch (authResult.status) {
case TwitterLoginStatus.loggedIn:
// success
print('====== Login success ======');
print(authResult.authToken);
print(authResult.authTokenSecret);
break;
case TwitterLoginStatus.cancelledByUser:
// cancel
print('====== Login cancel ======');
break;
case TwitterLoginStatus.error:
case null:
// error
print('====== Login error ======');
break;
}
// final authResult = await twitterLogin.login();
// switch (authResult.status) {
// case TwitterLoginStatus.loggedIn:
// // success
// print('====== Login success ======');
// print(authResult.authToken);
// print(authResult.authTokenSecret);
// break;
// case TwitterLoginStatus.cancelledByUser:
// // cancel
// print('====== Login cancel ======');
// break;
// case TwitterLoginStatus.error:
// case null:
// // error
// print('====== Login error ======');
// break;
// }
}

/// Use Twitter API v2.
Future loginV2() async {
final twitterLogin = TwitterLogin(
/// Consumer API keys
apiKey: apiKey,
// final twitterLogin = TwitterLogin(
// /// Consumer API keys
// //apiKey: apiKey,

/// Consumer API Secret keys
apiSecretKey: apiSecretKey,
// /// Consumer API Secret keys
// // apiSecretKey: apiSecretKey,

/// Registered Callback URLs in TwitterApp
/// Android is a deeplink
/// iOS is a URLScheme
redirectURI: 'example://',
);
// /// Registered Callback URLs in TwitterApp
// /// Android is a deeplink
// /// iOS is a URLScheme
// redirectURI: 'example://',
// );

/// Forces the user to enter their credentials
/// to ensure the correct users account is authorized.
/// If you want to implement Twitter account switching, set [force_login] to true
/// login(forceLogin: true);
final authResult = await twitterLogin.loginV2();
switch (authResult.status) {
case TwitterLoginStatus.loggedIn:
// success
print('====== Login success ======');
break;
case TwitterLoginStatus.cancelledByUser:
// cancel
print('====== Login cancel ======');
break;
case TwitterLoginStatus.error:
case null:
// error
print('====== Login error ======');
break;
}
// final authResult = await twitterLogin.loginV2();
// switch (authResult.status) {
// case TwitterLoginStatus.loggedIn:
// // success
// print('====== Login success ======');
// break;
// case TwitterLoginStatus.cancelledByUser:
// // cancel
// print('====== Login cancel ======');
// break;
// case TwitterLoginStatus.error:
// case null:
// // error
// print('====== Login error ======');
// break;
// }
}
}
21 changes: 7 additions & 14 deletions lib/entity/auth_result.dart
Original file line number Diff line number Diff line change
@@ -1,42 +1,35 @@
import 'dart:core';

import 'package:twitter_login/entity/user.dart';
import 'package:twitter_login/src/twitter_login.dart';

/// The result when the Twitter login flow has completed.
/// The login methods always return an instance of this class.
class AuthResult {

/// constructor
AuthResult({
String? authToken,
String? authTokenSecret,
String? authVerifier,
required TwitterLoginStatus status,
String? errorMessage,
User? user,
}) : _authToken = authToken,
_authTokenSecret = authTokenSecret,
_authVerifier = authVerifier,
_status = status,
_errorMessage = errorMessage,
_user = user;
_errorMessage = errorMessage;

/// The access token for using the Twitter APIs
final String? _authToken;

//// The access token secret for using the Twitter APIs
final String? _authTokenSecret;
/// The access token secret for using the Twitter APIs
final String? _authVerifier;

/// The status after a Twitter login flow has completed
final TwitterLoginStatus? _status;

/// The error message when the log in flow completed with an error
final String? _errorMessage;

/// Twitter Account user Info.
final User? _user;

String? get authToken => _authToken;
String? get authTokenSecret => _authTokenSecret;
String? get authVerifier => _authVerifier;
TwitterLoginStatus? get status => _status;
String? get errorMessage => _errorMessage;
User? get user => _user;
}
Loading