step 23 : fix check isTokenExpired > 3 menit refreshToken

This commit is contained in:
sindhu
2025-02-27 01:25:19 +07:00
parent a28830deb0
commit b723dc4596
4 changed files with 62 additions and 125 deletions

View File

@@ -141,50 +141,19 @@ class NoLoginRefreshTokenNotifier
expire_date: expire_date,
);
print("📌 Token diperbarui: ${resp.token}");
print("📌 Expire date dari API: ${resp.expire_date}");
// Cek apakah expire_date dari API null atau kosong
if (resp.expire_date == null || resp.expire_date.isEmpty) {
print("❌ Error: expire_date dari API kosong!");
return;
}
// Konversi format expire_date ke ISO 8601
String expireDateStr = resp.expire_date.replaceFirst(" ", "T");
// Validasi apakah expire_date dapat dikonversi ke DateTime
try {
DateTime parsedExpireDate = DateTime.parse(expireDateStr);
print("✅ expire_date berhasil dikonversi: $parsedExpireDate");
} catch (e) {
print("❌ Error parsing expire_date: $e");
return;
}
// Simpan token ke SharedPreferences
final shared = await SharedPreferences.getInstance();
// await shared.setString("expire_date", expireDateStr);
print("✅ expire_date berhasil disimpan: $expireDateStr");
final tokenData = jsonEncode({
"expire_date": resp.expire_date,
"host": host,
"date": DateTime.now().toString(),
"token": resp.token,
"client_id": resp.client_id,
"expire_date": expireDateStr,
"isLogin": resp.isLogin,
});
await shared.setString(Constant.bearerName, tokenData);
print("✅ Token data berhasil diperbarui: $tokenData");
// Cek ulang apakah expire_date berhasil disimpan dengan benar
String? cekExpireDate = shared.getString("expire_date");
print(
"📌 expire_date yang tersimpan di SharedPreferences: $cekExpireDate");
ref.read(noLoginCurrentUserProvider.notifier).state = resp;
state = NoLoginRefreshTokenStateDone(model: resp);
} catch (e) {