checkToken method
Implementation
Map<String, dynamic> checkToken() {
Map<String, dynamic>? data = loadFile();
if (data?['gpt_key'] == null ||
data?['gpt_key'] == '' ||
data?['secret_key'] == '' ||
data?['secret_key'] == null) {
print('No API Key found, please add your API Key using --adg flag');
return {};
} else {
try {
String token = data!['gpt_key']!;
String secretKey = data['secret_key']!;
final jwt = JWT.verify(token, SecretKey(secretKey));
Map<String, dynamic> refreshData = jwt.payload;
String secret =
secretKeyMaker(refreshData['createdAt']).substring(0, 16);
final iv = IV.fromUtf8(secret);
final decrypter = Encrypter(
AES(Key.fromUtf8(secret), mode: AESMode.ctr, padding: null));
final decrypted = decrypter
.decrypt(Encrypted.fromBase64(refreshData['apiKey']), iv: iv);
return {
"status": true,
"apiKey": decrypted,
};
} catch (e) {
print('Error: $e');
return {"status": false};
}
}
}