getToken method

Future<String> getToken({
  1. required AssuranceType assuranceType,
  2. required ClaimType claimType,
  3. required String userId,
  4. Map<String, dynamic> additionalOptions = const {},
})

Implementation

Future<String> getToken({
  required AssuranceType assuranceType,
  required ClaimType claimType,
  required String userId,
  Map<String, dynamic> additionalOptions = const {},
}) async {
  final response = await http.post(
    Uri.parse('$_normalizedBaseUrl/claim/${claimType.stringValue}/token'),
    headers: {'Content-Type': 'application/json'},
    body: jsonEncode({
      'api_key': apiKey,
      'secret': secret,
      'resource': 'com.iproov.dart_api_client',
      'client': 'dart',
      'user_id': userId,
      'assurance_type': assuranceType.stringValue,
      ...additionalOptions,
    }),
  );

  _ensureSuccess(response);

  final json = jsonDecode(response.body);
  return json['token'];
}