Update: 2026-06-26 04:04:03
This commit is contained in:
@@ -221,7 +221,6 @@ class CRUD {
|
||||
}
|
||||
|
||||
if (sc == 401) {
|
||||
// استخدام SessionManager لتجديد الجلسة عند 401
|
||||
if (Get.isRegistered<SessionManager>()) {
|
||||
final sessionManager = Get.find<SessionManager>();
|
||||
if (!sessionManager.isRefreshing.value &&
|
||||
@@ -229,7 +228,6 @@ class CRUD {
|
||||
await sessionManager.refreshSession(silent: false);
|
||||
}
|
||||
} else {
|
||||
// fallback للتجديد القديم
|
||||
await getJWT();
|
||||
}
|
||||
return 'token_expired';
|
||||
@@ -262,12 +260,10 @@ class CRUD {
|
||||
if (Get.isRegistered<SessionManager>()) {
|
||||
final sessionManager = Get.find<SessionManager>();
|
||||
await sessionManager.refreshSession(silent: true);
|
||||
token = r(box.read(BoxName.jwt) ?? '').toString().split(Env.addd)[0];
|
||||
} else {
|
||||
// fallback: تجديد يدوي
|
||||
await getJWT();
|
||||
token = r(box.read(BoxName.jwt) ?? '').toString().split(Env.addd)[0];
|
||||
}
|
||||
token = r(box.read(BoxName.jwt) ?? '').toString().split(Env.addd)[0];
|
||||
}
|
||||
|
||||
// Initialize app signature if null
|
||||
@@ -302,7 +298,7 @@ class CRUD {
|
||||
// ═══════════════════════════════════════════════════════════════
|
||||
// getJWT — V1 Login Flow
|
||||
// ═══════════════════════════════════════════════════════════════
|
||||
Future<void> getJWT() async {
|
||||
Future<bool> getJWT() async {
|
||||
var payload = {
|
||||
'fingerprint': _getFpHeader(),
|
||||
'password': box.read(BoxName.password) ?? '',
|
||||
@@ -310,7 +306,6 @@ class CRUD {
|
||||
'aud': 'service',
|
||||
};
|
||||
|
||||
// Initialize app signature if null
|
||||
if (_appSignature == null) {
|
||||
try {
|
||||
_appSignature = await SecurityHelper.getAppSignature();
|
||||
@@ -340,10 +335,11 @@ class CRUD {
|
||||
await storage.write(key: BoxName.jwt, value: c(jwt));
|
||||
if (hmac != null) {
|
||||
await box.write(BoxName.hmac, hmac);
|
||||
final verify = box.read(BoxName.hmac);
|
||||
Log.print('✅ Verified stored HMAC: $verify');
|
||||
}
|
||||
return true;
|
||||
}
|
||||
Log.print('❌ getJWT failed: $response');
|
||||
return false;
|
||||
}
|
||||
|
||||
// ─────────────────────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user