fix : login api call

This commit is contained in:
2025-05-17 17:07:44 +03:30
parent 303ff86d85
commit 6843973c4f
12 changed files with 180 additions and 130 deletions

View File

@@ -10,9 +10,8 @@ class AuthMiddleware extends GetMiddleware {
@override
RouteSettings? redirect(String? route) {
eLog('redirect');
final refreshToken = tokenService.getRefreshToken();
final accessToken = tokenService.getAccessToken();
final refreshToken = tokenService.refreshToken.value;
final accessToken = tokenService.accessToken.value;
if (refreshToken == null || accessToken == null) {
return RouteSettings(name: AuthPaths.moduleList);

View File

@@ -1,9 +0,0 @@
import 'package:rasadyar_core/core.dart';
class AuthService extends GetxService{
Future<void> initService() async {
}
}

View File

@@ -2,14 +2,18 @@ import 'dart:convert';
import 'package:rasadyar_core/core.dart';
class TokenStorageService extends GetxService {
static const String _boxName = 'secureBox';
static const String _accessTokenKey = 'accessToken';
static const String _refreshTokenKey = 'refreshToken';
final FlutterSecureStorage _secureStorage = FlutterSecureStorage();
final HiveLocalStorage _localStorage = diCore.get<HiveLocalStorage>();
RxnString accessToken = RxnString();
RxnString refreshToken = RxnString();
RxnString tsss = RxnString();
Future<void> init() async {
final String? encryptedKey = await _secureStorage.read(key: 'hive_enc_key');
final encryptionKey =
@@ -29,26 +33,40 @@ class TokenStorageService extends GetxService {
_boxName,
encryptionCipher: HiveAesCipher(encryptionKey),
);
accessToken.value = _localStorage.read<String?>(
boxName: _boxName,
key: _accessTokenKey,
);
refreshToken.value = _localStorage.read<String?>(
boxName: _boxName,
key: _refreshTokenKey,
);
}
Future<void> saveAccessToken(String token) async => await _localStorage.save(
boxName: _boxName,
key: _accessTokenKey,
value: token,
);
Future<void> saveRefreshToken(String token) async => await _localStorage.save(
boxName: _boxName,
key: _refreshTokenKey,
value: token,
);
String? getAccessToken() =>
_localStorage.read<String?>(boxName: _boxName, key: _accessTokenKey);
String? getRefreshToken() =>
_localStorage.read<String?>(boxName: _boxName, key: _refreshTokenKey);
Future<void> deleteTokens() async => await _localStorage.clear(_boxName);
Future<void> saveAccessToken(String token) async {
await _localStorage.save(
boxName: _boxName,
key: _accessTokenKey,
value: token,
);
accessToken.value = token;
accessToken.refresh();
}
Future<void> saveRefreshToken(String token) async {
await _localStorage.save(
boxName: _boxName,
key: _refreshTokenKey,
value: token,
);
refreshToken.value = token;
refreshToken.refresh();
}
Future<void> deleteTokens() async {
await _localStorage.clear(_boxName);
accessToken.value = null;
refreshToken.value = null;
}
}