update api
This commit is contained in:
60
lib/core/storage/secure_storage.dart
Normal file
60
lib/core/storage/secure_storage.dart
Normal file
@@ -0,0 +1,60 @@
|
||||
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
|
||||
|
||||
/// Secure storage service for storing sensitive data like JWT tokens
|
||||
class SecureStorage {
|
||||
final FlutterSecureStorage _storage;
|
||||
|
||||
// Storage keys
|
||||
static const String _accessTokenKey = 'access_token';
|
||||
static const String _refreshTokenKey = 'refresh_token';
|
||||
|
||||
SecureStorage({FlutterSecureStorage? storage})
|
||||
: _storage = storage ?? const FlutterSecureStorage();
|
||||
|
||||
/// Save access token
|
||||
Future<void> saveAccessToken(String token) async {
|
||||
await _storage.write(key: _accessTokenKey, value: token);
|
||||
}
|
||||
|
||||
/// Get access token
|
||||
Future<String?> getAccessToken() async {
|
||||
return await _storage.read(key: _accessTokenKey);
|
||||
}
|
||||
|
||||
/// Save refresh token (for future use)
|
||||
Future<void> saveRefreshToken(String token) async {
|
||||
await _storage.write(key: _refreshTokenKey, value: token);
|
||||
}
|
||||
|
||||
/// Get refresh token (for future use)
|
||||
Future<String?> getRefreshToken() async {
|
||||
return await _storage.read(key: _refreshTokenKey);
|
||||
}
|
||||
|
||||
/// Delete access token
|
||||
Future<void> deleteAccessToken() async {
|
||||
await _storage.delete(key: _accessTokenKey);
|
||||
}
|
||||
|
||||
/// Delete refresh token
|
||||
Future<void> deleteRefreshToken() async {
|
||||
await _storage.delete(key: _refreshTokenKey);
|
||||
}
|
||||
|
||||
/// Delete all tokens (logout)
|
||||
Future<void> deleteAllTokens() async {
|
||||
await _storage.delete(key: _accessTokenKey);
|
||||
await _storage.delete(key: _refreshTokenKey);
|
||||
}
|
||||
|
||||
/// Check if access token exists
|
||||
Future<bool> hasAccessToken() async {
|
||||
final token = await getAccessToken();
|
||||
return token != null && token.isNotEmpty;
|
||||
}
|
||||
|
||||
/// Clear all secure storage
|
||||
Future<void> clearAll() async {
|
||||
await _storage.deleteAll();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user