Files
eatvio_app/lib/core/token_storage.dart
2024-08-26 15:04:07 +03:00

28 lines
906 B
Dart

import 'package:dio/dio.dart';
import 'package:eatvio_app/locator_service.dart';
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
abstract class TokenStorage {
static _addTokenToDioHeader(String token) {
sl<Dio>().options.headers['Authorization'] = 'Bearer $token';
}
static haveTokenInStorage() async {
if (await FlutterSecureStorage().read(key: 'token') == null) {
return false;
} else {
_addTokenToDioHeader((await FlutterSecureStorage().read(key: 'token'))!);
return true;
}
}
static Future<String> getTokenFromStorage() async => (await FlutterSecureStorage().read(key: 'token'))!;
static saveTokenInStorage(String token) async {
await FlutterSecureStorage().write(key: 'token', value: token);
_addTokenToDioHeader(token);
}
static removeTokenInStorage() async => (await FlutterSecureStorage().delete(key: 'token'));
}