parseJwt function
Implementation
Map<String, dynamic> parseJwt(String token) {
String getJsonFromJWT(String splittedToken) {
final String normalizedSource = base64Url.normalize(splittedToken);
return utf8.decode(base64Url.decode(normalizedSource));
}
final parts = token.split('.');
if (parts.length != 3) {
throw const FormatException('invalid token');
}
final payload = getJsonFromJWT(parts[1]);
final payloadMap = json.decode(payload);
if (payloadMap is! Map<String, dynamic>) {
throw const FormatException('invalid payload');
}
return payloadMap;
}