Looking for how to use this in your app?See Frontend Libraries →
AWS SDK を使用する
Amplify が機能を提供していない高度なユースケースの場合、エスケープハッチを取得して、基になる Amazon Cognito クライアントにアクセスできます。
基になる CognitoIdentityProviderClient と CognitoIdentityClient には、以下のようにアクセスできます
implementation "aws.sdk.kotlin:cognitoidentityprovider:1.0.44"implementation "aws.sdk.kotlin:cognitoidentity:1.0.44"suspend fun resendCodeUsingEscapeHatch() { // Get the instance of AWSCognitoAuthPlugin val cognitoAuthPlugin = Amplify.Auth.getPlugin("awsCognitoAuthPlugin") val cognitoAuthService = cognitoAuthPlugin.escapeHatch as AWSCognitoAuthService
// Get the instance of CognitoIdentityProviderClient val cognitoIdentityProviderClient = cognitoAuthService.cognitoIdentityProviderClient val request = ResendConfirmationCodeRequest { clientId = "xxxxxxxxxxxxxxxx" username = "user1" } val response = cognitoIdentityProviderClient?.resendConfirmationCode(request)}// Get the instance of AWSCognitoAuthPluginAWSCognitoAuthPlugin cognitoAuthPlugin = (AWSCognitoAuthPlugin) Amplify.Auth.getPlugin("awsCognitoAuthPlugin");
// Get the instance of CognitoIdentityProviderClientCognitoIdentityProviderClient client = cognitoAuthPlugin.getEscapeHatch().getCognitoIdentityProviderClient();ResendConfirmationCodeRequest request = ResendConfirmationCodeRequest.Companion.invoke(dslBuilder -> { dslBuilder.setClientId("xxxxxxxxxxxxxxxx"); dslBuilder.setUsername("user1"); return null;});
assert client != null;client.resendConfirmationCode(request, new Continuation<ResendConfirmationCodeResponse>() { @NonNull @Override public CoroutineContext getContext() { return GlobalScope.INSTANCE.getCoroutineContext(); }
@Override public void resumeWith(@NonNull Object resultOrException) { Log.i(TAG, "Result: " + resultOrException); }});