createJwt method

Map<String, dynamic> createJwt(
  1. String apiKey
)

Implementation

Map<String, dynamic> createJwt(String apiKey) {
  String mainData = DateTime.now().toString();
  String secretKey = secretKeyMaker(mainData).substring(0, 16);
  final encrypter = Encrypter(
      AES(Key.fromUtf8(secretKey), mode: AESMode.ctr, padding: null));
  final iv = IV.fromUtf8(secretKey);
  String encryptKey = encrypter.encrypt(apiKey, iv: iv).base64;
  String secret = encrypter.encrypt("${mainData}_$mainData", iv: iv).base64;

  final main = JWT(
    {
      'apiKey': encryptKey,
      "createdAt": mainData,
      "message":
          "Here is encrypted GPT API key, generated by Auto Local Tool, you can use it to generate your language file. it's valid for 30 days.",
    },
  );
  final mainToken =
      main.sign(SecretKey(secret), expiresIn: Duration(days: 30));
  return {'api': mainToken, 'secret': secret};
}