jwt_decode
A easy dart package to decode JSON Web Tokens, and to check and give its expiry dates.
Using
Decode a token
The easiest way to use this library is via the top-level function parseJwt()
.
import 'package:jwt_decode/jwt_decode.dart';
String token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJKV1QgRGVjb2RlIiwiaWF0IjoxNjA4NTgxNzczLCJleHAiOjE2NDAxMTc3NzMsImF1ZCI6Ind3dy5qd3RkZWNvZGUuY29tIiwic3ViIjoiQSBzYW1wbGUgSldUIiwibmFtZSI6IlZhcnVuIFMgQXRocmV5YSIsImVtYWlsIjoidmFydW4uc2F0aHJleWFAZ21haWwuY29tIiwicm9sZSI6IkRldmVsb3BlciJ9.vXE9ogUeMMsOTz2XQYHxE2hihVKyyxrhi_qfhJXamPQ';
Map<String, dynamic> payload = Jwt.parseJwt(token);
print(payload);
// After decoding, payload would look like this:
// payload = {
// 'iss': 'JWT Decode',
// 'iat': 1608581773,
// 'exp': 1640117773,
// 'aud': 'www.jwtdecode.com',
// 'sub': 'A sample JWT',
// 'name': 'Varun S Athreya',
// 'email': 'varun.sathreya@gmail.com',
// 'role': 'Developer'
// }
Getting expiry date
To get the expiry date of the given token pass the token in the function getExpiryDate()
.
Note: The return value from this function is nullable
.
import 'package:jwt_decode/jwt_decode.dart';
String token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJKV1QgRGVjb2RlIiwiaWF0IjoxNjA4NTgxNzczLCJleHAiOjE2NDAxMTc3NzMsImF1ZCI6Ind3dy5qd3RkZWNvZGUuY29tIiwic3ViIjoiQSBzYW1wbGUgSldUIiwibmFtZSI6IlZhcnVuIFMgQXRocmV5YSIsImVtYWlsIjoidmFydW4uc2F0aHJleWFAZ21haWwuY29tIiwicm9sZSI6IkRldmVsb3BlciJ9.vXE9ogUeMMsOTz2XQYHxE2hihVKyyxrhi_qfhJXamPQ';
DateTime? expiryDate = Jwt.getExpiryDate(token);
print(expiryDate);
// The expiry date would look like:
// expiryDate = 2021-12-22 01:46:13.000
Checking weather the token has expired or not
To check weather the token has expired or not pass the token in the function isExpired()
.
Getting expiry date
To get the expiry date of the given token pass the token in the function getExpiryDate()
.
import 'package:jwt_decode/jwt_decode.dart';
String token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJKV1QgRGVjb2RlIiwiaWF0IjoxNjA4NTgxNzczLCJleHAiOjE2NDAxMTc3NzMsImF1ZCI6Ind3dy5qd3RkZWNvZGUuY29tIiwic3ViIjoiQSBzYW1wbGUgSldUIiwibmFtZSI6IlZhcnVuIFMgQXRocmV5YSIsImVtYWlsIjoidmFydW4uc2F0aHJleWFAZ21haWwuY29tIiwicm9sZSI6IkRldmVsb3BlciJ9.vXE9ogUeMMsOTz2XQYHxE2hihVKyyxrhi_qfhJXamPQ';
bool isExpired = Jwt.isExpired(token);
print(isExpired);
// The output would be:
// isExpired = false