generateJWT method
Implementation
String generateJWT() {
var time = DateTime.now();
var claims = JsonWebTokenClaims.fromJson({
'iat': (time.millisecondsSinceEpoch / 1000).floor(),
'exp':
(time.add(Duration(hours: 1)).millisecondsSinceEpoch / 1000).floor(),
'iss': appStoreEnvironment.issuerId,
'aud': 'appstoreconnect-v1',
'nonce': Uuid().v4(),
'bid': appStoreEnvironment.bundleId,
});
var builder = JsonWebSignatureBuilder();
builder.setProtectedHeader('kid', appStoreEnvironment.keyId);
builder.setProtectedHeader('typ', 'JWT');
builder.jsonContent = claims.toJson();
builder.addRecipient(
JsonWebKey.fromPem(appStoreEnvironment.privateKey,
keyId: appStoreEnvironment.keyId),
algorithm: "ES256");
var jws = builder.build();
var jwtToken = jws.toCompactSerialization();
if (_jwtTokenUpdatedCallback != null) {
_jwtTokenUpdatedCallback!(jwtToken);
}
return jwtToken;
}