getUserInfo method

Future<Map<String, dynamic>?> getUserInfo()

Retrieves the current user information.

Implementation

Future<Map<String, dynamic>?> getUserInfo() async {
  _assertInitialization();
  try {
    final url = Uri.parse(_keycloakConfig.userInfoEndpoint);
    final client = HttpClient();
    final request = await client.getUrl(url)
      ..headers.add(HttpHeaders.authorizationHeader, 'Bearer $accessToken');
    final response = await request.close();
    final responseBody = await response.transform(utf8.decoder).join();

    client.close();
    return jsonDecode(responseBody) as Map<String, dynamic>?;
  } catch (e, s) {
    onError('Failed to fetch user info.', e, s);
    return null;
  }
}