forked from eatvio/eatvio_app
added invalid token chicking
This commit is contained in:
@@ -1,6 +1,10 @@
|
||||
import 'dart:developer';
|
||||
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:eatvio_app/core/websockets/ws_manager.dart';
|
||||
import 'package:eatvio_app/core/locator_service.dart';
|
||||
import 'package:eatvio_app/core/token_storage.dart';
|
||||
import 'package:eatvio_app/core/websockets/ws_service.dart';
|
||||
import 'package:eatvio_app/features/auth/presentation/pages/auth_screen.dart';
|
||||
import 'package:eatvio_app/features/blog_post/presentation/pages/blog_post_screen.dart';
|
||||
import 'package:eatvio_app/features/blog_post_create/presentation/pages/blog_post_create_screen.dart';
|
||||
@@ -70,9 +74,19 @@ class AppRouter {
|
||||
redirect: (context, state) async {
|
||||
// TokenStorage.removeTokenInStorage();
|
||||
// await TokenStorage.saveTokenInStorage('Bearer 3|laravel_sanctum_zoubsO9NPXAqgLZEdHV9R3XbuDUHJJMJyXcd77mhbb649f04');
|
||||
if (await TokenStorage.haveTokenInStorage()) {
|
||||
return '/my-profile-screen';
|
||||
final token = await TokenStorage.getTokenFromStorage();
|
||||
if (token != null) {
|
||||
try {
|
||||
await sl<WsService>().getWebsocket();
|
||||
return '/my-profile-screen';
|
||||
} on DioException catch (e, st) {
|
||||
if (e.response?.statusCode == 401 && e.response?.statusMessage == 'Unauthenticated.') {
|
||||
TokenStorage.removeTokenInStorage();
|
||||
}
|
||||
log(e.toString(), stackTrace: st);
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
},
|
||||
builder: (context, state) => const AuthScreen(),
|
||||
@@ -111,7 +125,9 @@ class AppRouter {
|
||||
await sl<WsManager>().initialize();
|
||||
return null;
|
||||
},
|
||||
pageBuilder: (context, state) => NoTransitionPage(child: ProfileScreen()),
|
||||
pageBuilder: (context, state) {
|
||||
return NoTransitionPage(child: ProfileScreen());
|
||||
},
|
||||
),
|
||||
GoRoute(
|
||||
path: '/feed-screen',
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// String baseUrl = 'https://eatvio.ru';
|
||||
String baseUrl = 'https://dev2.eatvio.com';
|
||||
String baseUrl = 'https://eatvio.ru';
|
||||
// String baseUrl = 'https://dev2.eatvio.com';
|
||||
|
||||
const List<int> durationValues = [7, 14, 21];
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ abstract class TokenStorage {
|
||||
}
|
||||
}
|
||||
|
||||
static Future<String> getTokenFromStorage() async => (await FlutterSecureStorage().read(key: 'token'))!;
|
||||
static Future<String?> getTokenFromStorage() async => await FlutterSecureStorage().read(key: 'token');
|
||||
|
||||
static saveTokenInStorage(String token) async {
|
||||
await FlutterSecureStorage().write(key: 'token', value: token);
|
||||
|
||||
Reference in New Issue
Block a user