72 lines
2.2 KiB
Dart
72 lines
2.2 KiB
Dart
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
|
|
|
class TokenService {
|
|
static const _storage = FlutterSecureStorage();
|
|
static const _tokenKey = 'access_token';
|
|
static const String _refreshTokenKey = 'refresh_token';
|
|
static const _roleKey = 'user_role';
|
|
|
|
// Stockage du token
|
|
static Future<void> saveToken(String token) async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
await prefs.setString(_tokenKey, token);
|
|
}
|
|
|
|
// Stockage du refresh token
|
|
static Future<void> saveRefreshToken(String refreshToken) async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
await prefs.setString(_refreshTokenKey, refreshToken);
|
|
}
|
|
|
|
// Stockage du rôle
|
|
static Future<void> saveRole(String role) async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
await prefs.setString(_roleKey, role);
|
|
}
|
|
|
|
// Récupération du token
|
|
static Future<String?> getToken() async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
return prefs.getString(_tokenKey);
|
|
}
|
|
|
|
// Récupération du refresh token
|
|
static Future<String?> getRefreshToken() async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
return prefs.getString(_refreshTokenKey);
|
|
}
|
|
|
|
// Récupération du rôle
|
|
static Future<String?> getRole() async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
return prefs.getString(_roleKey);
|
|
}
|
|
|
|
// Suppression du token
|
|
static Future<void> deleteToken() async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
await prefs.remove(_tokenKey);
|
|
}
|
|
|
|
// Suppression du refresh token
|
|
static Future<void> deleteRefreshToken() async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
await prefs.remove(_refreshTokenKey);
|
|
}
|
|
|
|
|
|
// Suppression du rôle
|
|
static Future<void> deleteRole() async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
await prefs.remove(_roleKey);
|
|
}
|
|
|
|
// Nettoyage complet
|
|
static Future<void> clearAll() async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
await prefs.remove(_tokenKey);
|
|
await prefs.remove(_refreshTokenKey);
|
|
await prefs.remove(_roleKey);
|
|
}
|
|
} |