you can use jwt_decoder package to decode and/or check if you token is expired
 //to get claims from your token
 main () {
   String yourToken = "Your JWT";
   Map<String, dynamic> decodedToken = 
   JwtDecoder.decode(yourToken);
   /*
   If the token has a valid format, you will get a 
   Map<String,dynamic> Your decoded token can look like:
   {
     "sub": "1234567890",
     "name": "Gustavo",
     "iat": 1516239022,
     "exp": 1516239022,
     "randomKey": "something else"
    }
    */
 }
//check if your token is expired
main () {
 String yourToken = "Your JWT";
 bool hasExpired = JwtDecoder.isExpired(yourToken);
 // You will get a true / false response
 // true: if the token is already expired
 // false: if the token is not expired
}
you can get your token expiration date using
main () {
 String yourToken = "Your JWT";
 DateTime expirationDate = JwtDecoder.getExpirationDate(token);
 // 2025-01-13 13:04:18.000
 print(expirationDate);
}
you can also find out how old your token is
// Token payload must include an 'iat' field
main () {
 String yourToken = "Your JWT";
 Duration tokenTime = JwtDecoder.getTokenTime(token);
 // 15
 print(tokenTime.inDays);
}
to learn more about what JWT Decoder can do, visit their package documentation page