parseJwt function
Extracts the JSON payload from an encoded JWT token
Implementation
Map<String, dynamic> parseJwt(String token) {
final parts = token.split('.');
if (parts.length != 3) {
throw Exception(
'@userfront/flutter: parseJwt: tried to parse an invalid token (fewer than 3 parts)');
}
final payload = _decodeBase64(parts[1]);
final payloadMap = json.decode(payload);
if (payloadMap is! Map<String, dynamic>) {
throw Exception(
'@userfront/flutter: parseJwt: tried to parse an invalid token (invalid payload JSON)');
}
return payloadMap;
}