philiprehberger_jwt_decoder 0.1.1 copy "philiprehberger_jwt_decoder: ^0.1.1" to clipboard
philiprehberger_jwt_decoder: ^0.1.1 copied to clipboard

Lightweight JWT token decoder with typed claim access and expiration checking

philiprehberger_jwt_decoder #

Tests pub package Last updated

Lightweight JWT token decoder with typed claim access and expiration checking

Requirements #

  • Dart >= 3.6

Installation #

Add to your pubspec.yaml:

dependencies:
  philiprehberger_jwt_decoder: ^0.1.0

Then run:

dart pub get

Usage #

import 'package:philiprehberger_jwt_decoder/jwt_decoder.dart';

final payload = JwtDecoder.decode(token);
print(payload.subject);    // user-123
print(payload.expiration); // 2026-04-04 12:00:00.000

Check Expiration #

if (JwtDecoder.isExpired(token)) {
  print('Token has expired');
}

final remaining = JwtDecoder.timeToExpiry(token);
print('Expires in ${remaining?.inMinutes} minutes');

Clock Skew Tolerance #

JwtDecoder.isExpired(token, clockSkew: Duration(seconds: 30));

Custom Claims #

final payload = JwtDecoder.decode(token);
final role = payload.claim<String>('role');     // 'admin'
final level = payload.claim<int>('level');      // 5

API #

Method Description
JwtDecoder.decode(token) Decode a JWT and return its payload
JwtDecoder.isExpired(token, {clockSkew}) Check if a token has expired
JwtDecoder.timeToExpiry(token) Get remaining time until expiration
JwtPayload.subject The sub claim
JwtPayload.issuedAt The iat claim as DateTime
JwtPayload.expiration The exp claim as DateTime
JwtPayload.issuer The iss claim
JwtPayload.claim<T>(key) Get any custom claim by key

Development #

dart pub get
dart analyze --fatal-infos
dart test

Support #

If you find this project useful:

Star the repo

🐛 Report issues

💡 Suggest features

❤️ Sponsor development

🌐 All Open Source Projects

💻 GitHub Profile

🔗 LinkedIn Profile

License #

MIT

0
likes
160
points
--
downloads

Documentation

API reference

Publisher

verified publisherphiliprehberger.com

Lightweight JWT token decoder with typed claim access and expiration checking

Repository (GitHub)
View/report issues

License

MIT (license)

More

Packages that depend on philiprehberger_jwt_decoder