toJWK method

  1. @override
Map<String, dynamic> toJWK({
  1. String? keyID,
  2. HMACAlgorithm? algorithm,
})
override

Convert the key to a JWK JSON object representation

Implementation

@override
Map<String, dynamic> toJWK({String? keyID, HMACAlgorithm? algorithm}) {
  final keyBytes = decodeHMACSecret(key, isBase64Encoded);

  Map<String, dynamic> jwk = {
    'kty': 'oct',
    'use': 'sig',
    'k': base64Unpadded(base64Url.encode(keyBytes)),
  };

  if (keyID != null) jwk['kid'] = keyID;
  if (algorithm != null) jwk['alg'] = algorithm.name;

  return jwk;
}