jsonwebtoken_decode 1.1.2 jsonwebtoken_decode: ^1.1.2 copied to clipboard
Package for decoding Json Web Token (JWT), and selecting specific claims.
JSONWEBTOKEN DECODE #
Package for decoding Json Web Token (JWT), and selecting specific claims.
Features #
- Decode jwt;
- Get Header and Payload claims;
- Get OpenID claims;
- Get Keycloak claims;
- Get custom claims;
Usage #
// ...
final String _token ='valid_token';
JwtBuilder? _jwtBuilder;
Payload? _payload;
Header? _header;
@override
void initState() {
super.initState();
_jwtBuilder = JwtBuilder.fromToken(_token);
_payload = _jwtBuilder!.payload;
_header = _jwtBuilder!.header;
}
// ...
Text('${_payload!.claim('name')}'),
Usage Claims #
// ...
final String _token ='valid_token';
JwtBuilder? _jwtBuilder;
PayloadClaims? _payloadClaims;
OpenIdClaims? _openIdClaims;
KeycloakClaims? _keycloakClaims;
HeaderClaims? _headerClaims;
@override
void initState() {
super.initState();
_jwtBuilder = JwtBuilder.fromToken(_token);
_payloadClaims = PayloadClaims(_jwtBuilder!);
_openIdClaims = OpenIdClaims(_jwtBuilder!);
_keycloakClaims = KeycloakClaims(_jwtBuilder!);
_headerClaims = HeaderClaims(_jwtBuilder!);
}
// ...
Text('${_payloadClaims!.sub}'),
Text('${_openIdClaims!.name}'),
Text('${_keycloakClaims!.rolesRealmAccess}'),
Text('${_headerClaims!.typ}'),
Create your own PayloadClaims class #
class MyClaims extends PayloadClaims {
MyClaims(super.jwtBuilder);
get myPublicClaim => claim('my_public_claim');
}
See more: example;
Created following iana guidelines: https://www.iana.org/assignments/jwt/jwt.xhtml;
Sample token from jwt official website: https://jwt.io/;