getPlugin<Plugin extends AuthPluginInterface> method

Plugin getPlugin<Plugin extends AuthPluginInterface>(
  1. AuthPluginKey<Plugin> pluginKey
)

Gets the registered plugin of type Plugin as provided by a pluginKey, e.g.

Future<CognitoSignInResult> signInWithCognito(
  String username,
  String password,
) async {
  final cognitoPlugin = Amplify.Auth.getPlugin(
    AmplifyAuthCognito.pluginKey,
  );
  return cognitoPlugin.signIn(username: username, password: password);
}

Implementation

Plugin getPlugin<Plugin extends AuthPluginInterface>(
  AuthPluginKey<Plugin> pluginKey,
) =>
    plugins.singleWhere(
      (p) => p is Plugin,
      orElse: () => throw PluginError(
        'No plugin registered for $pluginKey',
      ),
    ) as Plugin;