JWT.create constructor
JWT.create(
- Map<String, dynamic> payload,
- RSAPrivateKey key
)
Implementation
factory JWT.create(
Map<String, dynamic> header,
Map<String, dynamic> payload,
RSAPrivateKey key,
) {
final encodedHeader = stripBase64Padding(_jsonBase64.encode(header));
final encodedPayload = stripBase64Padding(_jsonBase64.encode(payload));
final bodyPart = '$encodedHeader.$encodedPayload';
final body = utf8.encode(bodyPart);
final signer = Signer('SHA-256/RSA');
signer.init(true, PrivateKeyParameter<RSAPrivateKey>(key));
final rsaSignature =
signer.generateSignature(Uint8List.fromList(body)) as RSASignature;
final signature = stripBase64Padding(base64UrlEncode(rsaSignature.bytes));
return JWT('$bodyPart.$signature');
}