authenticate method

  1. @override
Future<String> authenticate({
  1. required Uri authorizationUrl,
  2. required FhirUri redirectUri,
})
override

Only method is to authenticate

Implementation

@override
Future<String> authenticate({
  required Uri authorizationUrl,
  required FhirUri redirectUri,
}) async {
  if (['android', 'ios'].contains(defaultTargetPlatform.name)) {
    return await FlutterWebAuth2.authenticate(
      callbackUrlScheme: redirectUri.value!.scheme,
      url: authorizationUrl.toString(),
      preferEphemeral: true,
    );
  } else {
    if (['linux', 'macos', 'windows'].contains(defaultTargetPlatform.name)) {
      return await FlutterWebAuth2.authenticate(
        callbackUrlScheme: redirectUri.value!.scheme,
        url: authorizationUrl.toString(),
        preferEphemeral: true,
      );
    }
    throw UnsupportedError(
        'Cannot authenticate without dart:html or dart:io.');
  }
}