performRequests static method

Future<AuthorizationResult> performRequests(
  1. List<AuthorizationRequest> requests
)

Starts the authorization flow requests provided. Currently the only supported request type is AppleIdRequest.

final AuthorizationResult result = await AppleSignIn.performRequests([
   AppleIdRequest(requestedScopes: [Scope.email, Scope.fullName])
]);

Implementation

static Future<AuthorizationResult> performRequests(
    List<AuthorizationRequest> requests) async {
  final result = await _methodChannel.invokeMethod(
    'performRequests',
    {'requests': requests.map((request) => request.toMap()).toList()},
  );
  final status = result['status'];

  switch (status) {
    case 'authorized':
      return _makeAuthorizationResult(result);

    case 'error':
      final error = NsError.fromMap(result['error']);

      if (error.code == _errorCodeCancelled) {
        return AuthorizationResult(
          status: AuthorizationStatus.cancelled,
        );
      }

      return AuthorizationResult(
          status: AuthorizationStatus.error,
          error: NsError.fromMap(result['error']));
  }

  throw "performRequests: Unknown status returned: '$status'";
}