parseJwt function

Map<String, dynamic> parseJwt(
  1. String token
)

Parsing of JWT id tokens taken from https://www.detroitdave.dev/2020/04/simple-azure-b2c-flutter.html

Implementation

Map<String, dynamic> parseJwt(String token) {
  final parts = token.split('.');
  if (parts.length != 3) {
    throw Exception('invalid token');
  }
  final payload = _decodeBase64(parts[1]);
  final payloadMap = json.decode(payload);
  if (payloadMap is! Map<String, dynamic>) {
    throw Exception('invalid payload');
  }
  return payloadMap;
}