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

Page updated Mar 26, 2026

サインアウト

Amplifyは、Amplify Authなどのバックエンドリソースと対話するためのクライアントライブラリを提供します。

フロントエンドアプリケーションでAmplify Authの使用を開始する最速の方法は、カスタマイズ可能なUIと完全な認証フローを提供するAuthenticatorコンポーネントです。

ユーザーをアプリケーションからサインアウトするには、signOut APIを使用します。

Amplify.Auth.signOut( signOutResult -> {
if (signOutResult instanceof AWSCognitoAuthSignOutResult.CompleteSignOut) {
// Sign Out completed fully and without errors.
Log.i("AuthQuickStart", "Signed out successfully");
} else if (signOutResult instanceof AWSCognitoAuthSignOutResult.PartialSignOut) {
// Sign Out completed with some errors. User is signed out of the device.
AWSCognitoAuthSignOutResult.PartialSignOut partialSignOutResult =
(AWSCognitoAuthSignOutResult.PartialSignOut) signOutResult;
HostedUIError hostedUIError = partialSignOutResult.getHostedUIError();
if (hostedUIError != null) {
Log.e("AuthQuickStart", "HostedUI Error", hostedUIError.getException());
// Optional: Re-launch hostedUIError.getUrl() in a Custom tab to clear Cognito web session.
}
GlobalSignOutError globalSignOutError = partialSignOutResult.getGlobalSignOutError();
if (globalSignOutError != null) {
Log.e("AuthQuickStart", "GlobalSignOut Error", globalSignOutError.getException());
// Optional: Use escape hatch to retry revocation of globalSignOutError.getAccessToken().
}
RevokeTokenError revokeTokenError = partialSignOutResult.getRevokeTokenError();
if (revokeTokenError != null) {
Log.e("AuthQuickStart", "RevokeToken Error", revokeTokenError.getException());
// Optional: Use escape hatch to retry revocation of revokeTokenError.getRefreshToken().
}
} else if (signOutResult instanceof AWSCognitoAuthSignOutResult.FailedSignOut) {
AWSCognitoAuthSignOutResult.FailedSignOut failedSignOutResult =
(AWSCognitoAuthSignOutResult.FailedSignOut) signOutResult;
// Sign Out failed with an exception, leaving the user signed in.
Log.e("AuthQuickStart", "Sign out Failed", failedSignOutResult.getException());
}
});
Amplify.Auth.signOut { signOutResult ->
when(signOutResult) {
is AWSCognitoAuthSignOutResult.CompleteSignOut -> {
// Sign Out completed fully and without errors.
Log.i("AuthQuickStart", "Signed out successfully")
}
is AWSCognitoAuthSignOutResult.PartialSignOut -> {
// Sign Out completed with some errors. User is signed out of the device.
signOutResult.hostedUIError?.let {
Log.e("AuthQuickStart", "HostedUI Error", it.exception)
// Optional: Re-launch it.url in a Custom tab to clear Cognito web session.
}
signOutResult.globalSignOutError?.let {
Log.e("AuthQuickStart", "GlobalSignOut Error", it.exception)
// Optional: Use escape hatch to retry revocation of it.accessToken.
}
signOutResult.revokeTokenError?.let {
Log.e("AuthQuickStart", "RevokeToken Error", it.exception)
// Optional: Use escape hatch to retry revocation of it.refreshToken.
}
}
is AWSCognitoAuthSignOutResult.FailedSignOut -> {
// Sign Out failed with an exception, leaving the user signed in.
Log.e("AuthQuickStart", "Sign out Failed", signOutResult.exception)
}
}
}
val signOutResult = Amplify.Auth.signOut()
when(signOutResult) {
is AWSCognitoAuthSignOutResult.CompleteSignOut -> {
// Sign Out completed fully and without errors.
Log.i("AuthQuickStart", "Signed out successfully")
}
is AWSCognitoAuthSignOutResult.PartialSignOut -> {
// Sign Out completed with some errors. User is signed out of the device.
signOutResult.hostedUIError?.let {
Log.e("AuthQuickStart", "HostedUI Error", it.exception)
// Optional: Re-launch it.url in a Custom tab to clear Cognito web session.
}
signOutResult.globalSignOutError?.let {
Log.e("AuthQuickStart", "GlobalSignOut Error", it.exception)
// Optional: Use escape hatch to retry revocation of it.accessToken.
}
signOutResult.revokeTokenError?.let {
Log.e("AuthQuickStart", "RevokeToken Error", it.exception)
// Optional: Use escape hatch to retry revocation of it.refreshToken.
}
}
is AWSCognitoAuthSignOutResult.FailedSignOut -> {
// Sign Out failed with an exception, leaving the user signed in.
Log.e("AuthQuickStart", "Sign out Failed", signOutResult.exception)
}
}
RxAmplify.Auth.signOut()
.subscribe(signOutResult -> {
if (signOutResult instanceof AWSCognitoAuthSignOutResult.CompleteSignOut) {
// Sign Out completed fully and without errors.
Log.i("AuthQuickStart", "Signed out successfully");
} else if (signOutResult instanceof AWSCognitoAuthSignOutResult.PartialSignOut) {
// Sign Out completed with some errors. User is signed out of the device.
AWSCognitoAuthSignOutResult.PartialSignOut partialSignOutResult =
(AWSCognitoAuthSignOutResult.PartialSignOut) signOutResult;
HostedUIError hostedUIError = partialSignOutResult.getHostedUIError();
if (hostedUIError != null) {
Log.e("AuthQuickStart", "HostedUI Error", hostedUIError.getException());
// Optional: Re-launch hostedUIError.getUrl() in a Custom tab to clear Cognito web session.
}
GlobalSignOutError globalSignOutError = partialSignOutResult.getGlobalSignOutError();
if (globalSignOutError != null) {
Log.e("AuthQuickStart", "GlobalSignOut Error", globalSignOutError.getException());
// Optional: Use escape hatch to retry revocation of globalSignOutError.getAccessToken().
}
RevokeTokenError revokeTokenError = partialSignOutResult.getRevokeTokenError();
if (revokeTokenError != null) {
Log.e("AuthQuickStart", "RevokeToken Error", revokeTokenError.getException());
// Optional: Use escape hatch to retry revocation of revokeTokenError.getRefreshToken().
}
} else if (signOutResult instanceof AWSCognitoAuthSignOutResult.FailedSignOut) {
AWSCognitoAuthSignOutResult.FailedSignOut failedSignOutResult =
(AWSCognitoAuthSignOutResult.FailedSignOut) signOutResult;
// Sign Out failed with an exception, leaving the user signed in.
Log.e("AuthQuickStart", "Sign out Failed", failedSignOutResult.getException());
}
});

すべてのデバイスからユーザーをサインアウトするグローバルサインアウトを実行することもできます。これは、ユーザーに発行されたすべてのリフレッシュトークンも無効にします。ユーザーの現在のアクセストークンとIDトークンは、リフレッシュトークンの有効期限が切れるまで他のデバイスで有効なままです(アクセストークンとIDトークンは発行後1時間で期限切れになります)。

AuthSignOutOptions options = AuthSignOutOptions.builder()
.globalSignOut(true)
.build();
Amplify.Auth.signOut(options, signOutResult -> {
if (signOutResult instanceof AWSCognitoAuthSignOutResult.CompleteSignOut) {
// handle successful sign out
} else if (signOutResult instanceof AWSCognitoAuthSignOutResult.PartialSignOut) {
// handle partial sign out
} else if (signOutResult instanceof AWSCognitoAuthSignOutResult.FailedSignOut) {
// handle failed sign out
}
});
val options = AuthSignOutOptions.builder()
.globalSignOut(true)
.build()
Amplify.Auth.signOut(options) { signOutResult ->
when(signOutResult) {
is AWSCognitoAuthSignOutResult.CompleteSignOut -> {
// handle successful sign out
}
is AWSCognitoAuthSignOutResult.PartialSignOut -> {
// handle partial sign out
}
is AWSCognitoAuthSignOutResult.FailedSignOut -> {
// handle failed sign out
}
}
}
val options = AuthSignOutOptions.builder()
.globalSignOut(true)
.build()
val signOutResult = Amplify.Auth.signOut(options)
when(signOutResult) {
is AWSCognitoAuthSignOutResult.CompleteSignOut -> {
// handle successful sign out
}
is AWSCognitoAuthSignOutResult.PartialSignOut -> {
// handle partial sign out
}
is AWSCognitoAuthSignOutResult.FailedSignOut -> {
// handle failed sign out
}
}
AuthSignOutOptions options = AuthSignOutOptions.builder()
.globalSignOut(true)
.build();
RxAmplify.Auth.signOut(options)
.subscribe(signOutResult -> {
if (signOutResult instanceof AWSCognitoAuthSignOutResult.CompleteSignOut) {
// handle successful sign out
} else if (signOutResult instanceof AWSCognitoAuthSignOutResult.PartialSignOut) {
// handle partial sign out
} else if (signOutResult instanceof AWSCognitoAuthSignOutResult.FailedSignOut) {
// handle failed sign out
}
});