Use AWS SDK
For advanced use cases where Amplify does not provide the functionality, you can retrieve an escape hatch to access the underlying Amazon Cognito client.
The escape hatch provides access to the underlying AWSCognitoIdentityProvider
instance. Import the necessary types:
import AWSCognitoAuthPluginimport AWSCognitoIdentityProvider
Then retrieve the escape hatch with this code:
func getEscapeHatch() { let client: CognitoIdentityProviderClient
// Get the instance of AWSCognitoAuthPlugin let plugin = try? Amplify.Auth.getPlugin(for: "awsCognitoAuthPlugin") as? AWSCognitoAuthPlugin
// Get the instance of CognitoIdentityProviderClient if case .userPoolAndIdentityPool(let userPoolClient, _) = plugin?.getEscapeHatch() { client = userPoolClient } else if case .userPool(let userPoolClient) = plugin?.getEscapeHatch() { client = userPoolClient } else { fatalError("No user pool configuration found") } print("Fetched escape hatch - \(String(describing: client))")}