fetchAiinOAuthProviders function

Future<List<String>> fetchAiinOAuthProviders({
  1. Client? client,
  2. String authBaseUrl = aiinAuthBaseUrl,
})

The identity providers AIIN currently accepts for sign-in.

Implementation

Future<List<String>> fetchAiinOAuthProviders({
  http.Client? client,
  String authBaseUrl = aiinAuthBaseUrl,
}) async {
  final response = await _postOrGet(
    method: 'GET',
    url: Uri.parse('$authBaseUrl/api/oauth-proxy/providers'),
    client: client,
  );
  final body = _decode(response);
  final providers = body['providers'];
  if (providers is! List) return const [];
  return [
    for (final p in providers)
      if (p is String && p.isNotEmpty) p,
  ];
}