Name:
interface
Value:
Amplify has re-imagined the way frontend developers build fullstack applications. Develop and deploy without the hassle.
Gen1 DocsLegacy

Page updated Sep 25, 2024

AWS SDK を使用する

Amplify が機能を提供していない高度なユースケースの場合、エスケープハッチを取得して、基になる Amazon Cognito クライアントにアクセスできます。

基になる CognitoIdentityProviderClientCognitoIdentityClient には、以下のようにアクセスできます

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 AWSCognitoAuthPlugin
AWSCognitoAuthPlugin cognitoAuthPlugin = (AWSCognitoAuthPlugin) Amplify.Auth.getPlugin("awsCognitoAuthPlugin");
// Get the instance of CognitoIdentityProviderClient
CognitoIdentityProviderClient 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);
}
});