Skip to content

Commit

Permalink
login / logout working, account still has to be saved and used locally
Browse files Browse the repository at this point in the history
  • Loading branch information
romme86 committed May 20, 2022
1 parent 0eca624 commit e6a126d
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 7 deletions.
22 changes: 21 additions & 1 deletion vidaia/lib/pages/login_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_login/flutter_login.dart';
import 'package:vidaia/main.dart';
import 'package:vidaia/pages/home/home_page_loader.dart';
import 'package:vidaia/utils/constants.dart';
import 'package:vidaia/utils/globals.dart';
import 'package:vidaia/utils/wallet.dart';
import 'package:vidaia/services/auth_service.dart';
Expand Down Expand Up @@ -103,7 +104,26 @@ class _LoginPageState extends State<LoginPage> {
child: const Text('Auth0 Login | Register'),
)
else
Text('Welcome $name'),
Expanded(
child: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Text(
'Welcome $name',
textAlign: TextAlign.center,
style: const TextStyle(
color: TEXT_WHITE, decoration: TextDecoration.none),
),
const Icon(
Icons.done,
color: PRIMARY_LIGHT,
size: 130.0,
),
],
)),
),
],
),
);
Expand Down
31 changes: 30 additions & 1 deletion vidaia/lib/services/auth_service.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import 'dart:convert';
import 'package:flutter/foundation.dart';
import 'package:http/http.dart' as http;
import 'package:flutter/services.dart';
import 'package:flutter_appauth/flutter_appauth.dart';
Expand Down Expand Up @@ -44,13 +45,41 @@ class AuthService {
}
}

Future<String> logout() async {
await secureStorage.delete(key: REFRESH_TOKEN_KEY);
final url = Uri.https(
AUTH0_DOMAIN,
'/v2/logout',
{
'client_id': AUTH0_CLIENT_ID,
'federated': '',
// 'returnTo': 'YOUR_RETURN_LOGOUT_URL'
},
);

debugPrint('logout url: ' + url.toString());

final response = await http.get(
url,
headers: {'Authorization': 'Bearer $auth0AccessToken'},
);

debugPrint(
'logout: ${response.request} ${response.statusCode} ${response.body}');

return 'logout: ${response.request} ${response.statusCode} ${response.body}';
}

Future<String> login() async {
try {
final authorizationTokenRequest = AuthorizationTokenRequest(
AUTH0_CLIENT_ID,
AUTH0_REDIRECT_URI,
issuer: AUTH0_ISSUER,
scopes: ['openid', 'profile', 'offline_access', 'email'],
scopes: ['openid', 'profile', 'email'], // offline_access
promptValues: ['login'],

/// possible values login, none, consent, select_account
);

final AuthorizationTokenResponse? result =
Expand Down
3 changes: 2 additions & 1 deletion vidaia/lib/utils/constants.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ const Color PRIMARY = Color(0xff0b2b2d);
const Color PRIMARY_LIGHT = Color(0xff6c9772);
const Color PRIMARY_DARK = Color(0xff112823);


const Color BUTTON = Color(0xffffb900);
const Color CLICKED = Color(0xffd19000);

Expand All @@ -13,3 +12,5 @@ const Color SPEND = Color.fromARGB(255, 245, 124, 102);
const Color BACKGROUND = Color(0xfff8faf7);
const Color BACKGROUND_SHADE = Color(0xffebeeea);
const Color SECONDARY = Color.fromARGB(255, 197, 197, 197);

const Color TEXT_WHITE = Color(0xfff8faf7);
10 changes: 6 additions & 4 deletions vidaia/lib/widgets/vidaia_drawer.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import 'package:vidaia/pages/home/home_page_loader.dart';
import 'package:vidaia/pages/login_page.dart';
import 'package:vidaia/pages/settings_page.dart';
import 'package:vidaia/repositories/dataRepository.dart';
import 'package:vidaia/services/auth_service.dart';
import 'package:vidaia/utils/constants.dart';

class VidaiaDrawer extends StatelessWidget {
Expand Down Expand Up @@ -153,10 +154,11 @@ class VidaiaDrawer extends StatelessWidget {
'Logout',
style: Theme.of(context).textTheme.subtitle1,
),
onTap: () => {
Navigator.push(context,
MaterialPageRoute(builder: (context) => LoginPage()))
}),
onTap: () async {
await AuthService.instance.logout();
Navigator.push(context,
MaterialPageRoute(builder: (context) => LoginPage()));
}),
),
]),
),
Expand Down

0 comments on commit e6a126d

Please sign in to comment.