federateToIdentityPool method

Future<FederateToIdentityPoolResult> federateToIdentityPool({
  1. required String token,
  2. required AuthProvider provider,
  3. FederateToIdentityPoolOptions? options,
})

Federate to a Cognito Identity pool using an external identity provider previously registered for the identity pool.

For more information about federation, see the docs.

See also:

Implementation

Future<FederateToIdentityPoolResult> federateToIdentityPool({
  required String token,
  required AuthProvider provider,
  FederateToIdentityPoolOptions? options,
}) async {
  return identifyCall(
    AuthCategoryMethod.federateToIdentityPool,
    () async {
      final request = FederateToIdentityPoolRequest(
        token: token,
        provider: provider,
        options: options,
      );
      final sessionState =
          await _stateMachine.acceptAndComplete<FetchAuthSessionSuccess>(
        FetchAuthSessionEvent.federate(request),
      );
      final session = sessionState.session;
      return FederateToIdentityPoolResult(
        identityId: session.identityIdResult.value,
        credentials: session.credentialsResult.value,
      );
    },
  );
}