forked from eatvio/eatvio_app
28 lines
911 B
Dart
28 lines
911 B
Dart
import 'package:dio/dio.dart';
|
|
import 'package:eatvio_app/core/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'));
|
|
}
|