JWTPayload method

String? JWTPayload(
  1. String? secret
)

Implementation

String? JWTPayload(String? secret) {
  var parts = this.split('.');

  if(parts.length != 3)
    throw 'invalid jwt token';

  if(secret == null)
    return jsonDecode(parts[1].FromBase64UrlToString);

  if(Hmac(sha512, utf8.encode(secret)).convert(utf8.encode(parts[0]+'.'+parts[1])) == parts[2])
    return jsonDecode(parts[1].FromBase64UrlToString);
  else
    throw 'invalid jwt sing';
}