```java 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()); } }); ``` ```kotlin 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) } } } ``` ```kotlin 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) } } ``` ```java 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()); } }); ```