@@ -18,7 +18,6 @@ package com.amplifyframework.auth.cognito
1818import android.app.Activity
1919import android.content.Intent
2020import androidx.annotation.WorkerThread
21- import aws.sdk.kotlin.services.cognitoidentityprovider.associateSoftwareToken
2221import aws.sdk.kotlin.services.cognitoidentityprovider.confirmForgotPassword
2322import aws.sdk.kotlin.services.cognitoidentityprovider.getUser
2423import aws.sdk.kotlin.services.cognitoidentityprovider.model.AnalyticsMetadataType
@@ -27,10 +26,8 @@ import aws.sdk.kotlin.services.cognitoidentityprovider.model.ChangePasswordReque
2726import aws.sdk.kotlin.services.cognitoidentityprovider.model.EmailMfaSettingsType
2827import aws.sdk.kotlin.services.cognitoidentityprovider.model.SmsMfaSettingsType
2928import aws.sdk.kotlin.services.cognitoidentityprovider.model.SoftwareTokenMfaSettingsType
30- import aws.sdk.kotlin.services.cognitoidentityprovider.model.VerifySoftwareTokenResponseType
3129import aws.sdk.kotlin.services.cognitoidentityprovider.resendConfirmationCode
3230import aws.sdk.kotlin.services.cognitoidentityprovider.setUserMfaPreference
33- import aws.sdk.kotlin.services.cognitoidentityprovider.verifySoftwareToken
3431import com.amplifyframework.AmplifyException
3532import com.amplifyframework.annotations.InternalAmplifyApi
3633import com.amplifyframework.auth.AWSCognitoAuthMetadataType
@@ -43,7 +40,6 @@ import com.amplifyframework.auth.AuthFactorType
4340import com.amplifyframework.auth.AuthProvider
4441import com.amplifyframework.auth.AuthSession
4542import com.amplifyframework.auth.MFAType
46- import com.amplifyframework.auth.TOTPSetupDetails
4743import com.amplifyframework.auth.cognito.exceptions.configuration.InvalidOauthConfigurationException
4844import com.amplifyframework.auth.cognito.exceptions.configuration.InvalidUserPoolConfigurationException
4945import com.amplifyframework.auth.cognito.exceptions.invalidstate.SignedInException
@@ -53,7 +49,6 @@ import com.amplifyframework.auth.cognito.exceptions.service.InvalidParameterExce
5349import com.amplifyframework.auth.cognito.exceptions.service.UserCancelledException
5450import com.amplifyframework.auth.cognito.helpers.AuthHelper
5551import com.amplifyframework.auth.cognito.helpers.HostedUIHelper
56- import com.amplifyframework.auth.cognito.helpers.SessionHelper
5752import com.amplifyframework.auth.cognito.helpers.SignInChallengeHelper
5853import com.amplifyframework.auth.cognito.helpers.collectWhile
5954import com.amplifyframework.auth.cognito.helpers.getAllowedMFATypesFromChallengeParameters
@@ -70,7 +65,6 @@ import com.amplifyframework.auth.cognito.options.AWSCognitoAuthResendSignUpCodeO
7065import com.amplifyframework.auth.cognito.options.AWSCognitoAuthSignInOptions
7166import com.amplifyframework.auth.cognito.options.AWSCognitoAuthSignOutOptions
7267import com.amplifyframework.auth.cognito.options.AWSCognitoAuthSignUpOptions
73- import com.amplifyframework.auth.cognito.options.AWSCognitoAuthVerifyTOTPSetupOptions
7468import com.amplifyframework.auth.cognito.options.AWSCognitoAuthWebUISignInOptions
7569import com.amplifyframework.auth.cognito.options.AuthFlowType
7670import com.amplifyframework.auth.cognito.options.FederateToIdentityPoolOptions
@@ -96,7 +90,6 @@ import com.amplifyframework.auth.options.AuthResetPasswordOptions
9690import com.amplifyframework.auth.options.AuthSignInOptions
9791import com.amplifyframework.auth.options.AuthSignOutOptions
9892import com.amplifyframework.auth.options.AuthSignUpOptions
99- import com.amplifyframework.auth.options.AuthVerifyTOTPSetupOptions
10093import com.amplifyframework.auth.options.AuthWebUISignInOptions
10194import com.amplifyframework.auth.result.AuthResetPasswordResult
10295import com.amplifyframework.auth.result.AuthSignInResult
@@ -1948,56 +1941,6 @@ internal class RealAWSCognitoAuthPlugin(
19481941 }
19491942 }
19501943
1951- fun setUpTOTP (onSuccess : Consumer <TOTPSetupDetails >, onError : Consumer <AuthException >) {
1952- authStateMachine.getCurrentState { authState ->
1953- when (authState.authNState) {
1954- is AuthenticationState .SignedIn -> {
1955- GlobalScope .launch {
1956- try {
1957- val accessToken = getSession().userPoolTokensResult.value?.accessToken
1958- accessToken?.let { token ->
1959- SessionHelper .getUsername(token)?.let { username ->
1960- authEnvironment.cognitoAuthService
1961- .cognitoIdentityProviderClient?.associateSoftwareToken {
1962- this .accessToken = token
1963- }?.also { response ->
1964- response.secretCode?.let { secret ->
1965- onSuccess.accept(
1966- TOTPSetupDetails (
1967- secret,
1968- username
1969- )
1970- )
1971- }
1972- }
1973- }
1974- } ? : onError.accept(SignedOutException ())
1975- } catch (error: Exception ) {
1976- onError.accept(
1977- CognitoAuthExceptionConverter .lookup(
1978- error,
1979- " Cannot find a multi-factor authentication (MFA) method."
1980- )
1981- )
1982- }
1983- }
1984- }
1985-
1986- else -> onError.accept(InvalidStateException ())
1987- }
1988- }
1989- }
1990-
1991- fun verifyTOTPSetup (
1992- code : String ,
1993- options : AuthVerifyTOTPSetupOptions ,
1994- onSuccess : Action ,
1995- onError : Consumer <AuthException >
1996- ) {
1997- val cognitoOptions = options as ? AWSCognitoAuthVerifyTOTPSetupOptions
1998- verifyTotp(code, cognitoOptions?.friendlyDeviceName, onSuccess, onError)
1999- }
2000-
20011944 fun fetchMFAPreference (onSuccess : Consumer <UserMFAPreference >, onError : Consumer <AuthException >) {
20021945 authStateMachine.getCurrentState { authState ->
20031946 when (authState.authNState) {
@@ -2131,50 +2074,6 @@ internal class RealAWSCognitoAuthPlugin(
21312074 })
21322075 }
21332076
2134- private fun verifyTotp (
2135- code : String ,
2136- friendlyDeviceName : String? ,
2137- onSuccess : Action ,
2138- onError : Consumer <AuthException >
2139- ) {
2140- authStateMachine.getCurrentState { authState ->
2141- when (authState.authNState) {
2142- is AuthenticationState .SignedIn -> {
2143- GlobalScope .launch {
2144- try {
2145- val accessToken = getSession().userPoolTokensResult.value?.accessToken
2146- accessToken?.let { token ->
2147- authEnvironment.cognitoAuthService
2148- .cognitoIdentityProviderClient?.verifySoftwareToken {
2149- this .userCode = code
2150- this .friendlyDeviceName = friendlyDeviceName
2151- this .accessToken = token
2152- }?.also {
2153- when (it.status) {
2154- is VerifySoftwareTokenResponseType .Success -> onSuccess.call()
2155- else -> throw ServiceException (
2156- message = " An unknown service error has occurred" ,
2157- recoverySuggestion = AmplifyException .TODO_RECOVERY_SUGGESTION
2158- )
2159- }
2160- }
2161- } ? : onError.accept(SignedOutException ())
2162- } catch (error: Exception ) {
2163- onError.accept(
2164- CognitoAuthExceptionConverter .lookup(
2165- error,
2166- " Amazon Cognito cannot find a multi-factor authentication (MFA) method."
2167- )
2168- )
2169- }
2170- }
2171- }
2172-
2173- else -> onError.accept(InvalidStateException ())
2174- }
2175- }
2176- }
2177-
21782077 private fun _clearFederationToIdentityPool (onSuccess : Action , onError : Consumer <AuthException >) {
21792078 _signOut (sendHubEvent = false ) {
21802079 when (it) {
0 commit comments