fromJson static method

Jwk fromJson(
  1. Map jwk
)

Constructs a private key from decoded JSON tree.

Implementation

static Jwk fromJson(Map jwk) {
  final builder = JwkBuilder();
  for (var entry in jwk.entries) {
    final key = entry.key;
    final value = entry.value;
    switch (key) {
      case 'alg':
        builder.alg = value as String;
        break;
      case 'crv':
        builder.crv = value as String;
        break;
      case 'd':
        builder.d = base64UriDecode(value as String);
        break;
      case 'dp':
        builder.dp = base64UriDecode(value as String);
        break;
      case 'dq':
        builder.dq = base64UriDecode(value as String);
        break;
      case 'e':
        builder.e = base64UriDecode(value as String);
        break;
      case 'k':
        builder.k = base64UriDecode(value as String);
        break;
      case 'key_ops':
        builder.keyOps = value as String;
        break;
      case 'kid':
        builder.kid = value as String;
        break;
      case 'kty':
        builder.kty = value as String;
        break;
      case 'n':
        builder.n = base64UriDecode(value as String);
        break;
      case 'p':
        builder.p = base64UriDecode(value as String);
        break;
      case 'q':
        builder.q = base64UriDecode(value as String);
        break;
      case 'qi':
        builder.qi = base64UriDecode(value as String);
        break;
      case 'use':
        builder.use = value as String;
        break;
      case 'x':
        builder.x = base64UriDecode(value as String);
        break;
      case 'x5c':
        builder.x5c = base64UriDecode(value as String);
        break;
      case 'x5t':
        builder.x5t = base64UriDecode(value as String);
        break;
      case 'x5u':
        builder.x5u = value as String;
        break;
      case 'y':
        builder.y = base64UriDecode(value as String);
        break;
    }
  }
  return builder.build();
}