containsKey method
Indicates if a claim exists or not.
The claimName
can be the Claim Name of a registered claim or a
non-registered claim.
Implementation
bool containsKey(String claimName) {
if (!registeredClaimNames.contains(claimName)) {
// Non-registered claim
return _otherClaims.containsKey(claimName);
} else {
// Registered claim
switch (claimName) {
case 'iss':
return issuer != null;
case 'sub':
return subject != null;
case 'aud':
return audience != null;
case 'exp':
return expiry != null;
case 'nbf':
return notBefore != null;
case 'iat':
return issuedAt != null;
case 'jti':
return jwtId != null;
default:
// coding error: all the registered claims should have been covered
throw UnsupportedError('bad non-registered claim: $claimName');
}
}
}