@aws-amplify/auth 6.7.1-unstable.ab33a03.0 → 6.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/client/apis/associateWebAuthnCredential.js +62 -0
- package/dist/cjs/client/apis/associateWebAuthnCredential.js.map +1 -0
- package/dist/cjs/client/apis/deleteWebAuthnCredential.js +22 -0
- package/dist/cjs/client/apis/deleteWebAuthnCredential.js.map +1 -0
- package/dist/cjs/client/apis/index.js +13 -0
- package/dist/cjs/client/apis/index.js.map +1 -0
- package/dist/cjs/client/apis/listWebAuthnCredentials.js +23 -0
- package/dist/cjs/client/apis/listWebAuthnCredentials.js.map +1 -0
- package/dist/cjs/client/flows/shared/handlePasswordSRP.js +79 -0
- package/dist/cjs/client/flows/shared/handlePasswordSRP.js.map +1 -0
- package/dist/cjs/client/flows/userAuth/handleSelectChallenge.js +46 -0
- package/dist/cjs/client/flows/userAuth/handleSelectChallenge.js.map +1 -0
- package/dist/cjs/client/flows/userAuth/handleSelectChallengeWithPassword.js +59 -0
- package/dist/cjs/client/flows/userAuth/handleSelectChallengeWithPassword.js.map +1 -0
- package/dist/cjs/client/flows/userAuth/handleSelectChallengeWithPasswordSRP.js +74 -0
- package/dist/cjs/client/flows/userAuth/handleSelectChallengeWithPasswordSRP.js.map +1 -0
- package/dist/cjs/client/flows/userAuth/handleUserAuthFlow.js +84 -0
- package/dist/cjs/client/flows/userAuth/handleUserAuthFlow.js.map +1 -0
- package/dist/cjs/client/flows/userAuth/handleWebAuthnSignInResult.js +88 -0
- package/dist/cjs/client/flows/userAuth/handleWebAuthnSignInResult.js.map +1 -0
- package/dist/cjs/client/utils/index.js +9 -0
- package/dist/cjs/client/utils/index.js.map +1 -0
- package/dist/cjs/client/utils/passkey/errors.js +180 -0
- package/dist/cjs/client/utils/passkey/errors.js.map +1 -0
- package/dist/cjs/client/utils/passkey/getIsPasskeySupported.js +20 -0
- package/dist/cjs/client/utils/passkey/getIsPasskeySupported.js.map +1 -0
- package/dist/cjs/client/utils/passkey/getIsPasskeySupported.native.js +12 -0
- package/dist/cjs/client/utils/passkey/getIsPasskeySupported.native.js.map +1 -0
- package/dist/cjs/client/utils/passkey/getPasskey.js +27 -0
- package/dist/cjs/client/utils/passkey/getPasskey.js.map +1 -0
- package/dist/cjs/client/utils/passkey/getPasskey.native.js +12 -0
- package/dist/cjs/client/utils/passkey/getPasskey.native.js.map +1 -0
- package/dist/cjs/client/utils/passkey/index.js +11 -0
- package/dist/cjs/client/utils/passkey/index.js.map +1 -0
- package/dist/cjs/client/utils/passkey/registerPasskey.js +32 -0
- package/dist/cjs/client/utils/passkey/registerPasskey.js.map +1 -0
- package/dist/cjs/client/utils/passkey/registerPasskey.native.js +12 -0
- package/dist/cjs/client/utils/passkey/registerPasskey.native.js.map +1 -0
- package/dist/cjs/client/utils/passkey/serde.js +106 -0
- package/dist/cjs/client/utils/passkey/serde.js.map +1 -0
- package/dist/cjs/client/utils/passkey/types/index.js +25 -0
- package/dist/cjs/client/utils/passkey/types/index.js.map +1 -0
- package/dist/cjs/client/utils/passkey/types/shared.js +18 -0
- package/dist/cjs/client/utils/passkey/types/shared.js.map +1 -0
- package/dist/cjs/client/utils/store/autoSignInStore.js +45 -0
- package/dist/cjs/client/utils/store/autoSignInStore.js.map +1 -0
- package/dist/cjs/client/utils/store/index.js +9 -0
- package/dist/cjs/client/utils/store/index.js.map +1 -0
- package/dist/cjs/client/utils/store/signInStore.js.map +1 -0
- package/dist/cjs/client/utils/store/types.js +6 -0
- package/dist/cjs/client/utils/store/types.js.map +1 -0
- package/dist/cjs/foundation/apis/deleteWebAuthnCredential.js +33 -0
- package/dist/cjs/foundation/apis/deleteWebAuthnCredential.js.map +1 -0
- package/dist/cjs/foundation/apis/index.js +11 -0
- package/dist/cjs/foundation/apis/index.js.map +1 -0
- package/dist/cjs/foundation/apis/listWebAuthnCredentials.js +46 -0
- package/dist/cjs/foundation/apis/listWebAuthnCredentials.js.map +1 -0
- package/dist/cjs/foundation/convert/base64url/convertArrayBufferToBase64Url.js +21 -0
- package/dist/cjs/foundation/convert/base64url/convertArrayBufferToBase64Url.js.map +1 -0
- package/dist/cjs/foundation/convert/base64url/convertBase64UrlToArrayBuffer.js +17 -0
- package/dist/cjs/foundation/convert/base64url/convertBase64UrlToArrayBuffer.js.map +1 -0
- package/dist/cjs/foundation/convert/base64url/index.js +11 -0
- package/dist/cjs/foundation/convert/base64url/index.js.map +1 -0
- package/dist/cjs/foundation/convert/index.js +10 -0
- package/dist/cjs/foundation/convert/index.js.map +1 -0
- package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/createCompleteWebAuthnRegistrationClient.js +16 -0
- package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/createCompleteWebAuthnRegistrationClient.js.map +1 -0
- package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/createDeleteWebAuthnCredentialClient.js +16 -0
- package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/createDeleteWebAuthnCredentialClient.js.map +1 -0
- package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/createListWebAuthnCredentialsClient.js +16 -0
- package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/createListWebAuthnCredentialsClient.js.map +1 -0
- package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/createSignUpClient.js +33 -4
- package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/createSignUpClient.js.map +1 -1
- package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/createStartWebAuthnRegistrationClient.js +16 -0
- package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/createStartWebAuthnRegistrationClient.js.map +1 -0
- package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/index.js +9 -1
- package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/index.js.map +1 -1
- package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/types/errors.js +44 -0
- package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/types/errors.js.map +1 -0
- package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/types/index.js +3 -2
- package/dist/cjs/foundation/factories/serviceClients/cognitoIdentityProvider/types/index.js.map +1 -1
- package/dist/cjs/foundation/types/index.js +6 -0
- package/dist/cjs/foundation/types/index.js.map +1 -0
- package/dist/cjs/foundation/types/inputs.js +6 -0
- package/dist/cjs/foundation/types/inputs.js.map +1 -0
- package/dist/cjs/foundation/types/models.js +6 -0
- package/dist/cjs/foundation/types/models.js.map +1 -0
- package/dist/cjs/foundation/types/outputs.js +6 -0
- package/dist/cjs/foundation/types/outputs.js.map +1 -0
- package/dist/cjs/index.js +6 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/autoSignIn.js +6 -2
- package/dist/cjs/providers/cognito/apis/autoSignIn.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/confirmSignIn.js +4 -4
- package/dist/cjs/providers/cognito/apis/confirmSignIn.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/confirmSignUp.js +8 -5
- package/dist/cjs/providers/cognito/apis/confirmSignUp.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/signIn.js +9 -0
- package/dist/cjs/providers/cognito/apis/signIn.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/signInWithCustomAuth.js +4 -4
- package/dist/cjs/providers/cognito/apis/signInWithCustomAuth.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/signInWithCustomSRPAuth.js +4 -4
- package/dist/cjs/providers/cognito/apis/signInWithCustomSRPAuth.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/signInWithSRP.js +7 -4
- package/dist/cjs/providers/cognito/apis/signInWithSRP.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/signInWithUserAuth.js +102 -0
- package/dist/cjs/providers/cognito/apis/signInWithUserAuth.js.map +1 -0
- package/dist/cjs/providers/cognito/apis/signInWithUserPassword.js +7 -4
- package/dist/cjs/providers/cognito/apis/signInWithUserPassword.js.map +1 -1
- package/dist/cjs/providers/cognito/apis/signUp.js +56 -49
- package/dist/cjs/providers/cognito/apis/signUp.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/signInHelpers.js +60 -42
- package/dist/cjs/providers/cognito/utils/signInHelpers.js.map +1 -1
- package/dist/cjs/providers/cognito/utils/signUpHelpers.js +5 -31
- package/dist/cjs/providers/cognito/utils/signUpHelpers.js.map +1 -1
- package/dist/esm/client/apis/associateWebAuthnCredential.d.ts +14 -0
- package/dist/esm/client/apis/associateWebAuthnCredential.mjs +69 -0
- package/dist/esm/client/apis/associateWebAuthnCredential.mjs.map +1 -0
- package/dist/esm/client/apis/deleteWebAuthnCredential.d.ts +11 -0
- package/dist/esm/client/apis/deleteWebAuthnCredential.mjs +29 -0
- package/dist/esm/client/apis/deleteWebAuthnCredential.mjs.map +1 -0
- package/dist/esm/client/apis/index.d.ts +3 -0
- package/dist/esm/client/apis/index.mjs +4 -0
- package/dist/esm/client/apis/index.mjs.map +1 -0
- package/dist/esm/client/apis/listWebAuthnCredentials.d.ts +12 -0
- package/dist/esm/client/apis/listWebAuthnCredentials.mjs +30 -0
- package/dist/esm/client/apis/listWebAuthnCredentials.mjs.map +1 -0
- package/dist/esm/client/flows/shared/handlePasswordSRP.d.ts +31 -0
- package/dist/esm/client/flows/shared/handlePasswordSRP.mjs +86 -0
- package/dist/esm/client/flows/shared/handlePasswordSRP.mjs.map +1 -0
- package/dist/esm/client/flows/userAuth/handleSelectChallenge.d.ts +23 -0
- package/dist/esm/client/flows/userAuth/handleSelectChallenge.mjs +51 -0
- package/dist/esm/client/flows/userAuth/handleSelectChallenge.mjs.map +1 -0
- package/dist/esm/client/flows/userAuth/handleSelectChallengeWithPassword.d.ts +16 -0
- package/dist/esm/client/flows/userAuth/handleSelectChallengeWithPassword.mjs +64 -0
- package/dist/esm/client/flows/userAuth/handleSelectChallengeWithPassword.mjs.map +1 -0
- package/dist/esm/client/flows/userAuth/handleSelectChallengeWithPasswordSRP.d.ts +18 -0
- package/dist/esm/client/flows/userAuth/handleSelectChallengeWithPasswordSRP.mjs +81 -0
- package/dist/esm/client/flows/userAuth/handleSelectChallengeWithPasswordSRP.mjs.map +1 -0
- package/dist/esm/client/flows/userAuth/handleUserAuthFlow.d.ts +27 -0
- package/dist/esm/client/flows/userAuth/handleUserAuthFlow.mjs +88 -0
- package/dist/esm/client/flows/userAuth/handleUserAuthFlow.mjs.map +1 -0
- package/dist/esm/client/flows/userAuth/handleWebAuthnSignInResult.d.ts +3 -0
- package/dist/esm/client/flows/userAuth/handleWebAuthnSignInResult.mjs +93 -0
- package/dist/esm/client/flows/userAuth/handleWebAuthnSignInResult.mjs.map +1 -0
- package/dist/esm/client/utils/index.d.ts +1 -0
- package/dist/esm/client/utils/index.mjs +4 -0
- package/dist/esm/client/utils/index.mjs.map +1 -0
- package/dist/esm/client/utils/passkey/errors.d.ts +33 -0
- package/dist/esm/client/utils/passkey/errors.mjs +176 -0
- package/dist/esm/client/utils/passkey/errors.mjs.map +1 -0
- package/dist/esm/client/utils/passkey/getIsPasskeySupported.d.ts +6 -0
- package/dist/esm/client/utils/passkey/getIsPasskeySupported.mjs +18 -0
- package/dist/esm/client/utils/passkey/getIsPasskeySupported.mjs.map +1 -0
- package/dist/esm/client/utils/passkey/getIsPasskeySupported.native.d.ts +1 -0
- package/dist/esm/client/utils/passkey/getIsPasskeySupported.native.mjs +10 -0
- package/dist/esm/client/utils/passkey/getIsPasskeySupported.native.mjs.map +1 -0
- package/dist/esm/client/utils/passkey/getPasskey.d.ts +2 -0
- package/dist/esm/client/utils/passkey/getPasskey.mjs +25 -0
- package/dist/esm/client/utils/passkey/getPasskey.mjs.map +1 -0
- package/dist/esm/client/utils/passkey/getPasskey.native.d.ts +1 -0
- package/dist/esm/client/utils/passkey/getPasskey.native.mjs +10 -0
- package/dist/esm/client/utils/passkey/getPasskey.native.mjs.map +1 -0
- package/dist/esm/client/utils/passkey/index.d.ts +2 -0
- package/dist/esm/client/utils/passkey/index.mjs +3 -0
- package/dist/esm/client/utils/passkey/index.mjs.map +1 -0
- package/dist/esm/client/utils/passkey/registerPasskey.d.ts +7 -0
- package/dist/esm/client/utils/passkey/registerPasskey.mjs +30 -0
- package/dist/esm/client/utils/passkey/registerPasskey.mjs.map +1 -0
- package/dist/esm/client/utils/passkey/registerPasskey.native.d.ts +1 -0
- package/dist/esm/client/utils/passkey/registerPasskey.native.mjs +10 -0
- package/dist/esm/client/utils/passkey/registerPasskey.native.mjs.map +1 -0
- package/dist/esm/client/utils/passkey/serde.d.ts +25 -0
- package/dist/esm/client/utils/passkey/serde.mjs +102 -0
- package/dist/esm/client/utils/passkey/serde.mjs.map +1 -0
- package/dist/esm/client/utils/passkey/types/index.d.ts +16 -0
- package/dist/esm/client/utils/passkey/types/index.mjs +18 -0
- package/dist/esm/client/utils/passkey/types/index.mjs.map +1 -0
- package/dist/esm/client/utils/passkey/types/shared.d.ts +106 -0
- package/dist/esm/client/utils/passkey/types/shared.mjs +16 -0
- package/dist/esm/client/utils/passkey/types/shared.mjs.map +1 -0
- package/dist/esm/client/utils/store/autoSignInStore.d.ts +21 -0
- package/dist/esm/client/utils/store/autoSignInStore.mjs +43 -0
- package/dist/esm/client/utils/store/autoSignInStore.mjs.map +1 -0
- package/dist/esm/client/utils/store/index.d.ts +2 -0
- package/dist/esm/client/utils/store/index.mjs +3 -0
- package/dist/esm/client/utils/store/index.mjs.map +1 -0
- package/dist/esm/{providers/cognito/utils → client/utils/store}/signInStore.d.ts +1 -1
- package/dist/esm/client/utils/store/signInStore.mjs.map +1 -0
- package/dist/esm/client/utils/store/types.d.ts +5 -0
- package/dist/esm/client/utils/store/types.mjs +2 -0
- package/dist/esm/client/utils/store/types.mjs.map +1 -0
- package/dist/esm/foundation/apis/deleteWebAuthnCredential.d.ts +3 -0
- package/dist/esm/foundation/apis/deleteWebAuthnCredential.mjs +38 -0
- package/dist/esm/foundation/apis/deleteWebAuthnCredential.mjs.map +1 -0
- package/dist/esm/foundation/apis/index.d.ts +2 -0
- package/dist/esm/foundation/apis/index.mjs +3 -0
- package/dist/esm/foundation/apis/index.mjs.map +1 -0
- package/dist/esm/foundation/apis/listWebAuthnCredentials.d.ts +3 -0
- package/dist/esm/foundation/apis/listWebAuthnCredentials.mjs +51 -0
- package/dist/esm/foundation/apis/listWebAuthnCredentials.mjs.map +1 -0
- package/dist/esm/foundation/convert/base64url/convertArrayBufferToBase64Url.d.ts +6 -0
- package/dist/esm/foundation/convert/base64url/convertArrayBufferToBase64Url.mjs +19 -0
- package/dist/esm/foundation/convert/base64url/convertArrayBufferToBase64Url.mjs.map +1 -0
- package/dist/esm/foundation/convert/base64url/convertBase64UrlToArrayBuffer.d.ts +6 -0
- package/dist/esm/foundation/convert/base64url/convertBase64UrlToArrayBuffer.mjs +15 -0
- package/dist/esm/foundation/convert/base64url/convertBase64UrlToArrayBuffer.mjs.map +1 -0
- package/dist/esm/foundation/convert/base64url/index.d.ts +2 -0
- package/dist/esm/foundation/convert/base64url/index.mjs +3 -0
- package/dist/esm/foundation/convert/base64url/index.mjs.map +1 -0
- package/dist/esm/foundation/convert/index.d.ts +1 -0
- package/dist/esm/foundation/convert/index.mjs +3 -0
- package/dist/esm/foundation/convert/index.mjs.map +1 -0
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createCompleteWebAuthnRegistrationClient.d.ts +13 -0
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createCompleteWebAuthnRegistrationClient.mjs +17 -0
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createCompleteWebAuthnRegistrationClient.mjs.map +1 -0
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createDeleteWebAuthnCredentialClient.d.ts +13 -0
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createDeleteWebAuthnCredentialClient.mjs +17 -0
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createDeleteWebAuthnCredentialClient.mjs.map +1 -0
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createListWebAuthnCredentialsClient.d.ts +13 -0
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createListWebAuthnCredentialsClient.mjs +17 -0
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createListWebAuthnCredentialsClient.mjs.map +1 -0
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createSignUpClient.d.ts +3 -1
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createSignUpClient.mjs +32 -7
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createSignUpClient.mjs.map +1 -1
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createStartWebAuthnRegistrationClient.d.ts +13 -0
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createStartWebAuthnRegistrationClient.mjs +17 -0
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/createStartWebAuthnRegistrationClient.mjs.map +1 -0
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/index.d.ts +4 -0
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/index.mjs +4 -0
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/index.mjs.map +1 -1
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/shared/serde/createUserPoolSerializer.d.ts +1 -1
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/types/errors.d.ts +37 -0
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/types/errors.mjs +46 -0
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/types/errors.mjs.map +1 -0
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/types/index.d.ts +1 -0
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/types/index.mjs +1 -1
- package/dist/esm/foundation/factories/serviceClients/cognitoIdentityProvider/types/sdk.d.ts +109 -5
- package/dist/esm/foundation/types/index.d.ts +3 -0
- package/dist/esm/foundation/types/index.mjs +2 -0
- package/dist/esm/foundation/types/index.mjs.map +1 -0
- package/dist/esm/foundation/types/inputs.d.ts +10 -0
- package/dist/esm/foundation/types/inputs.mjs +2 -0
- package/dist/esm/foundation/types/inputs.mjs.map +1 -0
- package/dist/esm/foundation/types/models.d.ts +11 -0
- package/dist/esm/foundation/types/models.mjs +2 -0
- package/dist/esm/foundation/types/models.mjs.map +1 -0
- package/dist/esm/foundation/types/outputs.d.ts +8 -0
- package/dist/esm/foundation/types/outputs.mjs +2 -0
- package/dist/esm/foundation/types/outputs.mjs.map +1 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.mjs +3 -0
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/autoSignIn.d.ts +1 -1
- package/dist/esm/providers/cognito/apis/autoSignIn.mjs +7 -2
- package/dist/esm/providers/cognito/apis/autoSignIn.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/confirmResetPassword.mjs +2 -0
- package/dist/esm/providers/cognito/apis/confirmResetPassword.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/confirmSignIn.mjs +2 -1
- package/dist/esm/providers/cognito/apis/confirmSignIn.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/confirmSignUp.mjs +11 -5
- package/dist/esm/providers/cognito/apis/confirmSignUp.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/confirmUserAttribute.mjs +2 -0
- package/dist/esm/providers/cognito/apis/confirmUserAttribute.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/deleteUser.mjs +3 -0
- package/dist/esm/providers/cognito/apis/deleteUser.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/deleteUserAttributes.mjs +3 -0
- package/dist/esm/providers/cognito/apis/deleteUserAttributes.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/fetchDevices.mjs +3 -0
- package/dist/esm/providers/cognito/apis/fetchDevices.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/fetchMFAPreference.mjs +3 -0
- package/dist/esm/providers/cognito/apis/fetchMFAPreference.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/forgetDevice.mjs +3 -0
- package/dist/esm/providers/cognito/apis/forgetDevice.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/internal/fetchUserAttributes.mjs +3 -0
- package/dist/esm/providers/cognito/apis/internal/fetchUserAttributes.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/rememberDevice.mjs +3 -0
- package/dist/esm/providers/cognito/apis/rememberDevice.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/resendSignUpCode.mjs +2 -0
- package/dist/esm/providers/cognito/apis/resendSignUpCode.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/resetPassword.mjs +2 -0
- package/dist/esm/providers/cognito/apis/resetPassword.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/sendUserAttributeVerificationCode.mjs +3 -0
- package/dist/esm/providers/cognito/apis/sendUserAttributeVerificationCode.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/setUpTOTP.mjs +2 -0
- package/dist/esm/providers/cognito/apis/setUpTOTP.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/signIn.mjs +9 -0
- package/dist/esm/providers/cognito/apis/signIn.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/signInWithCustomAuth.mjs +2 -1
- package/dist/esm/providers/cognito/apis/signInWithCustomAuth.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/signInWithCustomSRPAuth.mjs +2 -1
- package/dist/esm/providers/cognito/apis/signInWithCustomSRPAuth.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/signInWithSRP.mjs +5 -1
- package/dist/esm/providers/cognito/apis/signInWithSRP.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/signInWithUserAuth.d.ts +13 -0
- package/dist/esm/providers/cognito/apis/signInWithUserAuth.mjs +104 -0
- package/dist/esm/providers/cognito/apis/signInWithUserAuth.mjs.map +1 -0
- package/dist/esm/providers/cognito/apis/signInWithUserPassword.mjs +6 -2
- package/dist/esm/providers/cognito/apis/signInWithUserPassword.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/signOut.mjs +2 -0
- package/dist/esm/providers/cognito/apis/signOut.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/signUp.mjs +58 -50
- package/dist/esm/providers/cognito/apis/signUp.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/updateMFAPreference.mjs +3 -0
- package/dist/esm/providers/cognito/apis/updateMFAPreference.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/updatePassword.mjs +2 -0
- package/dist/esm/providers/cognito/apis/updatePassword.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/updateUserAttributes.mjs +3 -0
- package/dist/esm/providers/cognito/apis/updateUserAttributes.mjs.map +1 -1
- package/dist/esm/providers/cognito/apis/verifyTOTPSetup.mjs +2 -0
- package/dist/esm/providers/cognito/apis/verifyTOTPSetup.mjs.map +1 -1
- package/dist/esm/providers/cognito/types/index.d.ts +2 -2
- package/dist/esm/providers/cognito/types/inputs.d.ts +4 -0
- package/dist/esm/providers/cognito/types/models.d.ts +7 -1
- package/dist/esm/providers/cognito/types/options.d.ts +2 -1
- package/dist/esm/providers/cognito/types/outputs.d.ts +4 -0
- package/dist/esm/providers/cognito/utils/refreshAuthTokens.mjs +3 -0
- package/dist/esm/providers/cognito/utils/refreshAuthTokens.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/signInHelpers.d.ts +2 -1
- package/dist/esm/providers/cognito/utils/signInHelpers.mjs +56 -37
- package/dist/esm/providers/cognito/utils/signInHelpers.mjs.map +1 -1
- package/dist/esm/providers/cognito/utils/signUpHelpers.d.ts +0 -6
- package/dist/esm/providers/cognito/utils/signUpHelpers.mjs +5 -26
- package/dist/esm/providers/cognito/utils/signUpHelpers.mjs.map +1 -1
- package/dist/esm/types/inputs.d.ts +2 -2
- package/dist/esm/types/models.d.ts +9 -1
- package/package.json +104 -104
- package/src/client/apis/associateWebAuthnCredential.ts +94 -0
- package/src/client/apis/deleteWebAuthnCredential.ts +24 -0
- package/src/client/apis/index.ts +6 -0
- package/src/client/apis/listWebAuthnCredentials.ts +28 -0
- package/src/client/flows/shared/handlePasswordSRP.ts +123 -0
- package/src/client/flows/userAuth/handleSelectChallenge.ts +62 -0
- package/src/client/flows/userAuth/handleSelectChallengeWithPassword.ts +74 -0
- package/src/client/flows/userAuth/handleSelectChallengeWithPasswordSRP.ts +105 -0
- package/src/client/flows/userAuth/handleUserAuthFlow.ts +125 -0
- package/src/client/flows/userAuth/handleWebAuthnSignInResult.ts +130 -0
- package/src/client/utils/index.ts +4 -0
- package/src/client/utils/passkey/errors.ts +214 -0
- package/src/client/utils/passkey/getIsPasskeySupported.native.ts +8 -0
- package/src/client/utils/passkey/getIsPasskeySupported.ts +18 -0
- package/src/client/utils/passkey/getPasskey.native.ts +8 -0
- package/src/client/utils/passkey/getPasskey.ts +40 -0
- package/src/client/utils/passkey/index.ts +5 -0
- package/src/client/utils/passkey/registerPasskey.native.ts +8 -0
- package/src/client/utils/passkey/registerPasskey.ts +48 -0
- package/src/client/utils/passkey/serde.ts +151 -0
- package/src/client/utils/passkey/types/index.ts +61 -0
- package/src/client/utils/passkey/types/shared.ts +131 -0
- package/src/client/utils/store/autoSignInStore.ts +64 -0
- package/src/client/utils/store/index.ts +5 -0
- package/src/{providers/cognito/utils → client/utils/store}/signInStore.ts +3 -8
- package/src/client/utils/store/types.ts +9 -0
- package/src/foundation/apis/deleteWebAuthnCredential.ts +45 -0
- package/src/foundation/apis/index.ts +5 -0
- package/src/foundation/apis/listWebAuthnCredentials.ts +68 -0
- package/src/foundation/convert/base64url/convertArrayBufferToBase64Url.ts +18 -0
- package/src/foundation/convert/base64url/convertBase64UrlToArrayBuffer.ts +18 -0
- package/src/foundation/convert/base64url/index.ts +5 -0
- package/src/foundation/convert/index.ts +7 -0
- package/src/foundation/factories/serviceClients/cognitoIdentityProvider/createCompleteWebAuthnRegistrationClient.ts +31 -0
- package/src/foundation/factories/serviceClients/cognitoIdentityProvider/createDeleteWebAuthnCredentialClient.ts +31 -0
- package/src/foundation/factories/serviceClients/cognitoIdentityProvider/createListWebAuthnCredentialsClient.ts +31 -0
- package/src/foundation/factories/serviceClients/cognitoIdentityProvider/createSignUpClient.ts +44 -7
- package/src/foundation/factories/serviceClients/cognitoIdentityProvider/createStartWebAuthnRegistrationClient.ts +31 -0
- package/src/foundation/factories/serviceClients/cognitoIdentityProvider/index.ts +4 -0
- package/src/foundation/factories/serviceClients/cognitoIdentityProvider/shared/serde/createUserPoolSerializer.ts +5 -1
- package/src/foundation/factories/serviceClients/cognitoIdentityProvider/types/errors.ts +43 -0
- package/src/foundation/factories/serviceClients/cognitoIdentityProvider/types/index.ts +2 -0
- package/src/foundation/factories/serviceClients/cognitoIdentityProvider/types/sdk.ts +141 -5
- package/src/foundation/types/index.ts +9 -0
- package/src/foundation/types/inputs.ts +14 -0
- package/src/foundation/types/models.ts +14 -0
- package/src/foundation/types/outputs.ts +12 -0
- package/src/index.ts +14 -0
- package/src/providers/cognito/apis/autoSignIn.ts +6 -2
- package/src/providers/cognito/apis/confirmSignIn.ts +1 -1
- package/src/providers/cognito/apis/confirmSignUp.ts +10 -9
- package/src/providers/cognito/apis/signIn.ts +10 -0
- package/src/providers/cognito/apis/signInWithCustomAuth.ts +1 -1
- package/src/providers/cognito/apis/signInWithCustomSRPAuth.ts +1 -1
- package/src/providers/cognito/apis/signInWithSRP.ts +6 -1
- package/src/providers/cognito/apis/signInWithUserAuth.ts +141 -0
- package/src/providers/cognito/apis/signInWithUserPassword.ts +7 -2
- package/src/providers/cognito/apis/signUp.ts +81 -72
- package/src/providers/cognito/types/index.ts +2 -0
- package/src/providers/cognito/types/inputs.ts +5 -0
- package/src/providers/cognito/types/models.ts +13 -0
- package/src/providers/cognito/types/options.ts +7 -1
- package/src/providers/cognito/types/outputs.ts +5 -0
- package/src/providers/cognito/utils/signInHelpers.ts +77 -55
- package/src/providers/cognito/utils/signUpHelpers.ts +6 -31
- package/src/types/inputs.ts +2 -2
- package/src/types/models.ts +13 -0
- package/dist/cjs/providers/cognito/utils/signInStore.js.map +0 -1
- package/dist/esm/providers/cognito/utils/signInStore.mjs.map +0 -1
- /package/dist/cjs/{providers/cognito/utils → client/utils/store}/signInStore.js +0 -0
- /package/dist/esm/{providers/cognito/utils → client/utils/store}/signInStore.mjs +0 -0
|
@@ -3,6 +3,7 @@ import { signIn } from '../apis/signIn.mjs';
|
|
|
3
3
|
import { AuthError } from '../../../errors/AuthError.mjs';
|
|
4
4
|
import { setAutoSignIn, resetAutoSignIn } from '../apis/autoSignIn.mjs';
|
|
5
5
|
import { AUTO_SIGN_IN_EXCEPTION } from '../../../errors/constants.mjs';
|
|
6
|
+
import { signInWithUserAuth } from '../apis/signInWithUserAuth.mjs';
|
|
6
7
|
|
|
7
8
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
8
9
|
// SPDX-License-Identifier: Apache-2.0
|
|
@@ -25,7 +26,6 @@ function handleCodeAutoSignIn(signInInput) {
|
|
|
25
26
|
// This will stop the listener if confirmSignUp is not resolved.
|
|
26
27
|
const timeOutId = setTimeout(() => {
|
|
27
28
|
stopHubListener();
|
|
28
|
-
setAutoSignInStarted(false);
|
|
29
29
|
clearTimeout(timeOutId);
|
|
30
30
|
resetAutoSignIn();
|
|
31
31
|
}, MAX_AUTOSIGNIN_POLLING_MS);
|
|
@@ -49,7 +49,6 @@ function handleAutoSignInWithLink(signInInput, resolve, reject) {
|
|
|
49
49
|
const maxTime = MAX_AUTOSIGNIN_POLLING_MS;
|
|
50
50
|
if (elapsedTime > maxTime) {
|
|
51
51
|
clearInterval(autoSignInPollingIntervalId);
|
|
52
|
-
setAutoSignInStarted(false);
|
|
53
52
|
reject(new AuthError({
|
|
54
53
|
name: AUTO_SIGN_IN_EXCEPTION,
|
|
55
54
|
message: 'The account was not confirmed on time.',
|
|
@@ -63,13 +62,11 @@ function handleAutoSignInWithLink(signInInput, resolve, reject) {
|
|
|
63
62
|
if (signInOutput.nextStep.signInStep !== 'CONFIRM_SIGN_UP') {
|
|
64
63
|
resolve(signInOutput);
|
|
65
64
|
clearInterval(autoSignInPollingIntervalId);
|
|
66
|
-
setAutoSignInStarted(false);
|
|
67
65
|
resetAutoSignIn();
|
|
68
66
|
}
|
|
69
67
|
}
|
|
70
68
|
catch (error) {
|
|
71
69
|
clearInterval(autoSignInPollingIntervalId);
|
|
72
|
-
setAutoSignInStarted(false);
|
|
73
70
|
reject(error);
|
|
74
71
|
resetAutoSignIn();
|
|
75
72
|
}
|
|
@@ -78,26 +75,6 @@ function handleAutoSignInWithLink(signInInput, resolve, reject) {
|
|
|
78
75
|
}
|
|
79
76
|
const debouncedAutoSignInWithLink = debounce(handleAutoSignInWithLink, 300);
|
|
80
77
|
const debouncedAutoSignWithCodeOrUserConfirmed = debounce(handleAutoSignInWithCodeOrUserConfirmed, 300);
|
|
81
|
-
let autoSignInStarted = false;
|
|
82
|
-
let usernameUsedForAutoSignIn;
|
|
83
|
-
function setUsernameUsedForAutoSignIn(username) {
|
|
84
|
-
usernameUsedForAutoSignIn = username;
|
|
85
|
-
}
|
|
86
|
-
function isAutoSignInUserUsingConfirmSignUp(username) {
|
|
87
|
-
return usernameUsedForAutoSignIn === username;
|
|
88
|
-
}
|
|
89
|
-
function isAutoSignInStarted() {
|
|
90
|
-
return autoSignInStarted;
|
|
91
|
-
}
|
|
92
|
-
function setAutoSignInStarted(value) {
|
|
93
|
-
if (value === false) {
|
|
94
|
-
setUsernameUsedForAutoSignIn(undefined);
|
|
95
|
-
}
|
|
96
|
-
autoSignInStarted = value;
|
|
97
|
-
}
|
|
98
|
-
function isSignUpComplete(output) {
|
|
99
|
-
return !!output.UserConfirmed;
|
|
100
|
-
}
|
|
101
78
|
function autoSignInWhenUserIsConfirmedWithLink(signInInput) {
|
|
102
79
|
return async () => {
|
|
103
80
|
return new Promise((resolve, reject) => {
|
|
@@ -107,7 +84,9 @@ function autoSignInWhenUserIsConfirmedWithLink(signInInput) {
|
|
|
107
84
|
}
|
|
108
85
|
async function handleAutoSignInWithCodeOrUserConfirmed(signInInput, resolve, reject) {
|
|
109
86
|
try {
|
|
110
|
-
const output =
|
|
87
|
+
const output = signInInput?.options?.authFlowType === 'USER_AUTH'
|
|
88
|
+
? await signInWithUserAuth(signInInput)
|
|
89
|
+
: await signIn(signInInput);
|
|
111
90
|
resolve(output);
|
|
112
91
|
resetAutoSignIn();
|
|
113
92
|
}
|
|
@@ -125,5 +104,5 @@ function autoSignInWithCode(signInInput) {
|
|
|
125
104
|
}
|
|
126
105
|
const autoSignInUserConfirmed = autoSignInWithCode;
|
|
127
106
|
|
|
128
|
-
export { autoSignInUserConfirmed, autoSignInWhenUserIsConfirmedWithLink, handleCodeAutoSignIn
|
|
107
|
+
export { autoSignInUserConfirmed, autoSignInWhenUserIsConfirmedWithLink, handleCodeAutoSignIn };
|
|
129
108
|
//# sourceMappingURL=signUpHelpers.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signUpHelpers.mjs","sources":["../../../../../src/providers/cognito/utils/signUpHelpers.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { HubInternal } from '@aws-amplify/core/internals/utils';\nimport { signIn } from '../apis/signIn';\nimport { AuthError } from '../../../errors/AuthError';\nimport { resetAutoSignIn, setAutoSignIn } from '../apis/autoSignIn';\nimport { AUTO_SIGN_IN_EXCEPTION } from '../../../errors/constants';\nconst MAX_AUTOSIGNIN_POLLING_MS = 3 * 60 * 1000;\nexport function handleCodeAutoSignIn(signInInput) {\n const stopHubListener = HubInternal.listen('auth-internal', async ({ payload }) => {\n switch (payload.event) {\n case 'confirmSignUp': {\n const response = payload.data;\n if (response?.isSignUpComplete) {\n HubInternal.dispatch('auth-internal', {\n event: 'autoSignIn',\n });\n setAutoSignIn(autoSignInWithCode(signInInput));\n stopHubListener();\n }\n }\n }\n });\n // This will stop the listener if confirmSignUp is not resolved.\n const timeOutId = setTimeout(() => {\n stopHubListener();\n
|
|
1
|
+
{"version":3,"file":"signUpHelpers.mjs","sources":["../../../../../src/providers/cognito/utils/signUpHelpers.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { HubInternal } from '@aws-amplify/core/internals/utils';\nimport { signIn } from '../apis/signIn';\nimport { AuthError } from '../../../errors/AuthError';\nimport { resetAutoSignIn, setAutoSignIn } from '../apis/autoSignIn';\nimport { AUTO_SIGN_IN_EXCEPTION } from '../../../errors/constants';\nimport { signInWithUserAuth } from '../apis/signInWithUserAuth';\nconst MAX_AUTOSIGNIN_POLLING_MS = 3 * 60 * 1000;\nexport function handleCodeAutoSignIn(signInInput) {\n const stopHubListener = HubInternal.listen('auth-internal', async ({ payload }) => {\n switch (payload.event) {\n case 'confirmSignUp': {\n const response = payload.data;\n if (response?.isSignUpComplete) {\n HubInternal.dispatch('auth-internal', {\n event: 'autoSignIn',\n });\n setAutoSignIn(autoSignInWithCode(signInInput));\n stopHubListener();\n }\n }\n }\n });\n // This will stop the listener if confirmSignUp is not resolved.\n const timeOutId = setTimeout(() => {\n stopHubListener();\n clearTimeout(timeOutId);\n resetAutoSignIn();\n }, MAX_AUTOSIGNIN_POLLING_MS);\n}\nfunction debounce(fun, delay) {\n let timer;\n return (args) => {\n if (!timer) {\n fun(...args);\n }\n clearTimeout(timer);\n timer = setTimeout(() => {\n timer = undefined;\n }, delay);\n };\n}\nfunction handleAutoSignInWithLink(signInInput, resolve, reject) {\n const start = Date.now();\n const autoSignInPollingIntervalId = setInterval(async () => {\n const elapsedTime = Date.now() - start;\n const maxTime = MAX_AUTOSIGNIN_POLLING_MS;\n if (elapsedTime > maxTime) {\n clearInterval(autoSignInPollingIntervalId);\n reject(new AuthError({\n name: AUTO_SIGN_IN_EXCEPTION,\n message: 'The account was not confirmed on time.',\n recoverySuggestion: 'Try to verify your account by clicking the link sent your email or phone and then login manually.',\n }));\n resetAutoSignIn();\n }\n else {\n try {\n const signInOutput = await signIn(signInInput);\n if (signInOutput.nextStep.signInStep !== 'CONFIRM_SIGN_UP') {\n resolve(signInOutput);\n clearInterval(autoSignInPollingIntervalId);\n resetAutoSignIn();\n }\n }\n catch (error) {\n clearInterval(autoSignInPollingIntervalId);\n reject(error);\n resetAutoSignIn();\n }\n }\n }, 5000);\n}\nconst debouncedAutoSignInWithLink = debounce(handleAutoSignInWithLink, 300);\nconst debouncedAutoSignWithCodeOrUserConfirmed = debounce(handleAutoSignInWithCodeOrUserConfirmed, 300);\nexport function autoSignInWhenUserIsConfirmedWithLink(signInInput) {\n return async () => {\n return new Promise((resolve, reject) => {\n debouncedAutoSignInWithLink([signInInput, resolve, reject]);\n });\n };\n}\nasync function handleAutoSignInWithCodeOrUserConfirmed(signInInput, resolve, reject) {\n try {\n const output = signInInput?.options?.authFlowType === 'USER_AUTH'\n ? await signInWithUserAuth(signInInput)\n : await signIn(signInInput);\n resolve(output);\n resetAutoSignIn();\n }\n catch (error) {\n reject(error);\n resetAutoSignIn();\n }\n}\nfunction autoSignInWithCode(signInInput) {\n return async () => {\n return new Promise((resolve, reject) => {\n debouncedAutoSignWithCodeOrUserConfirmed([signInInput, resolve, reject]);\n });\n };\n}\nexport const autoSignInUserConfirmed = autoSignInWithCode;\n"],"names":[],"mappings":"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"}
|
|
@@ -54,12 +54,12 @@ export interface AuthSignInWithRedirectInput {
|
|
|
54
54
|
* The parameters for constructing a Sign Up input.
|
|
55
55
|
*
|
|
56
56
|
* @param username - a standard username, potentially an email/phone number
|
|
57
|
-
* @param password - the user's password
|
|
57
|
+
* @param password - the user's password, may be required depending on your Cognito User Pool configuration
|
|
58
58
|
* @param options - optional parameters for the Sign Up process, including user attributes
|
|
59
59
|
*/
|
|
60
60
|
export interface AuthSignUpInput<ServiceOptions extends AuthSignUpOptions<AuthUserAttributeKey> = AuthSignUpOptions<AuthUserAttributeKey>> {
|
|
61
61
|
username: string;
|
|
62
|
-
password
|
|
62
|
+
password?: string;
|
|
63
63
|
options?: ServiceOptions;
|
|
64
64
|
}
|
|
65
65
|
/**
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AuthStandardAttributeKey } from '@aws-amplify/core/internals/utils';
|
|
2
|
+
import { ChallengeName } from '../foundation/factories/serviceClients/cognitoIdentityProvider/types';
|
|
2
3
|
import { SignInOutput } from '../providers/cognito';
|
|
3
4
|
/**
|
|
4
5
|
* Additional data that may be returned from Auth APIs.
|
|
@@ -189,7 +190,14 @@ export interface DoneSignInStep {
|
|
|
189
190
|
*/
|
|
190
191
|
signInStep: 'DONE';
|
|
191
192
|
}
|
|
192
|
-
export
|
|
193
|
+
export interface ContinueSignInWithFirstFactorSelection {
|
|
194
|
+
signInStep: 'CONTINUE_SIGN_IN_WITH_FIRST_FACTOR_SELECTION';
|
|
195
|
+
availableChallenges?: ChallengeName[];
|
|
196
|
+
}
|
|
197
|
+
export interface ConfirmSignInWithPassword {
|
|
198
|
+
signInStep: 'CONFIRM_SIGN_IN_WITH_PASSWORD';
|
|
199
|
+
}
|
|
200
|
+
export type AuthNextSignInStep<UserAttributeKey extends AuthUserAttributeKey = AuthUserAttributeKey> = ConfirmSignInWithCustomChallenge | ContinueSignInWithMFASelection | ConfirmSignInWithNewPasswordRequired<UserAttributeKey> | ConfirmSignInWithSMSCode | ConfirmSignInWithTOTPCode | ConfirmSignInWithEmailCode | ContinueSignInWithTOTPSetup | ContinueSignInWithEmailSetup | ContinueSignInWithMFASetupSelection | ContinueSignInWithFirstFactorSelection | ConfirmSignInWithPassword | ConfirmSignUpStep | ResetPasswordStep | DoneSignInStep;
|
|
193
201
|
/**
|
|
194
202
|
* Key/value pairs describing a user attributes.
|
|
195
203
|
*/
|
package/package.json
CHANGED
|
@@ -1,106 +1,106 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
2
|
+
"name": "@aws-amplify/auth",
|
|
3
|
+
"version": "6.8.0",
|
|
4
|
+
"description": "Auth category of aws-amplify",
|
|
5
|
+
"main": "./dist/cjs/index.js",
|
|
6
|
+
"module": "./dist/esm/index.mjs",
|
|
7
|
+
"typings": "./dist/esm/index.d.ts",
|
|
8
|
+
"react-native": "./src/index.ts",
|
|
9
|
+
"sideEffects": [
|
|
10
|
+
"./dist/cjs/providers/cognito/apis/signInWithRedirect.js",
|
|
11
|
+
"./dist/esm/providers/cognito/apis/signInWithRedirect.mjs",
|
|
12
|
+
"./dist/cjs/providers/cognito/utils/oauth/enableOAuthListener.js",
|
|
13
|
+
"./dist/esm/providers/cognito/utils/oauth/enableOAuthListener.mjs"
|
|
14
|
+
],
|
|
15
|
+
"publishConfig": {
|
|
16
|
+
"access": "public"
|
|
17
|
+
},
|
|
18
|
+
"scripts": {
|
|
19
|
+
"test": "yarn lint --fix && jest -w 1 --coverage --logHeapUsage",
|
|
20
|
+
"build-with-test": "npm test && npm run build",
|
|
21
|
+
"build:umd": "webpack && webpack --config ./webpack.config.dev.js",
|
|
22
|
+
"build:esm-cjs": "rollup --forceExit -c rollup.config.mjs",
|
|
23
|
+
"build:watch": "npm run build:esm-cjs -- --watch",
|
|
24
|
+
"build": "npm run clean && npm run build:esm-cjs && npm run build:umd",
|
|
25
|
+
"clean": "npm run clean:size && rimraf lib-esm lib dist",
|
|
26
|
+
"clean:size": "rimraf dual-publish-tmp tmp*",
|
|
27
|
+
"format": "echo \"Not implemented\"",
|
|
28
|
+
"lint": "eslint '**/*.{ts,tsx}' && npm run ts-coverage",
|
|
29
|
+
"lint:fix": "eslint '**/*.{ts,tsx}' --fix",
|
|
30
|
+
"ts-coverage": "typescript-coverage-report -p ./tsconfig.build.json -t 91.18"
|
|
31
|
+
},
|
|
32
|
+
"typesVersions": {
|
|
33
|
+
">=4.2": {
|
|
34
|
+
"cognito": [
|
|
35
|
+
"./dist/esm/providers/cognito/index.d.ts"
|
|
36
|
+
],
|
|
37
|
+
"cognito/server": [
|
|
38
|
+
"./dist/esm/providers/cognito/apis/server/index.d.ts"
|
|
39
|
+
],
|
|
40
|
+
"server": [
|
|
41
|
+
"./dist/esm/server.d.ts"
|
|
42
|
+
]
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"exports": {
|
|
46
|
+
".": {
|
|
47
|
+
"types": "./dist/esm/index.d.ts",
|
|
48
|
+
"import": "./dist/esm/index.mjs",
|
|
49
|
+
"require": "./dist/cjs/index.js",
|
|
50
|
+
"react-native": "./src/index.ts"
|
|
51
|
+
},
|
|
52
|
+
"./cognito": {
|
|
53
|
+
"types": "./dist/esm/providers/cognito/index.d.ts",
|
|
54
|
+
"import": "./dist/esm/providers/cognito/index.mjs",
|
|
55
|
+
"require": "./dist/cjs/providers/cognito/index.js",
|
|
56
|
+
"react-native": "./src/providers/cognito/index.ts"
|
|
57
|
+
},
|
|
58
|
+
"./cognito/server": {
|
|
59
|
+
"types": "./dist/esm/providers/cognito/apis/server/index.d.ts",
|
|
60
|
+
"import": "./dist/esm/providers/cognito/apis/server/index.mjs",
|
|
61
|
+
"require": "./dist/cjs/providers/cognito/apis/server/index.js"
|
|
62
|
+
},
|
|
63
|
+
"./server": {
|
|
64
|
+
"types": "./dist/esm/server.d.ts",
|
|
65
|
+
"import": "./dist/esm/server.mjs",
|
|
66
|
+
"require": "./dist/cjs/server.js"
|
|
67
|
+
},
|
|
68
|
+
"./enable-oauth-listener": {
|
|
69
|
+
"types": "./dist/esm/providers/cognito/utils/oauth/enableOAuthListener.d.ts",
|
|
70
|
+
"import": "./dist/esm/providers/cognito/utils/oauth/enableOAuthListener.mjs",
|
|
71
|
+
"require": "./dist/cjs/providers/cognito/utils/oauth/enableOAuthListener.js"
|
|
72
|
+
},
|
|
73
|
+
"./package.json": "./package.json"
|
|
74
|
+
},
|
|
75
|
+
"repository": {
|
|
76
|
+
"type": "git",
|
|
77
|
+
"url": "https://github.com/aws-amplify/amplify-js.git"
|
|
78
|
+
},
|
|
79
|
+
"author": "Amazon Web Services",
|
|
80
|
+
"license": "Apache-2.0",
|
|
81
|
+
"bugs": {
|
|
82
|
+
"url": "https://github.com/aws/aws-amplify/issues"
|
|
83
|
+
},
|
|
84
|
+
"homepage": "https://aws-amplify.github.io/",
|
|
85
|
+
"files": [
|
|
86
|
+
"dist/cjs",
|
|
87
|
+
"dist/esm",
|
|
88
|
+
"src",
|
|
89
|
+
"cognito",
|
|
90
|
+
"server",
|
|
91
|
+
"enable-oauth-listener"
|
|
92
|
+
],
|
|
93
|
+
"dependencies": {
|
|
94
|
+
"tslib": "^2.5.0"
|
|
95
|
+
},
|
|
96
|
+
"peerDependencies": {
|
|
97
|
+
"@aws-amplify/core": "^6.1.0"
|
|
98
|
+
},
|
|
99
|
+
"devDependencies": {
|
|
100
|
+
"@aws-amplify/core": "6.7.0",
|
|
101
|
+
"@aws-amplify/react-native": "1.1.6",
|
|
102
|
+
"@jest/test-sequencer": "^29.7.0",
|
|
103
|
+
"typescript": "5.0.2"
|
|
104
|
+
},
|
|
105
|
+
"gitHead": "9fb4fc24621febe0faad226ab2edb696b8a0bc9c"
|
|
106
106
|
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import { Amplify, fetchAuthSession } from '@aws-amplify/core';
|
|
5
|
+
import {
|
|
6
|
+
AuthAction,
|
|
7
|
+
assertTokenProviderConfig,
|
|
8
|
+
} from '@aws-amplify/core/internals/utils';
|
|
9
|
+
|
|
10
|
+
import {
|
|
11
|
+
CompleteWebAuthnRegistrationException,
|
|
12
|
+
StartWebAuthnRegistrationException,
|
|
13
|
+
} from '../../foundation/factories/serviceClients/cognitoIdentityProvider/types';
|
|
14
|
+
import { assertAuthTokens } from '../../providers/cognito/utils/types';
|
|
15
|
+
import { createCognitoUserPoolEndpointResolver } from '../../providers/cognito/factories';
|
|
16
|
+
import { getRegionFromUserPoolId } from '../../foundation/parsers';
|
|
17
|
+
import { getAuthUserAgentValue } from '../../utils';
|
|
18
|
+
import { registerPasskey } from '../utils';
|
|
19
|
+
import {
|
|
20
|
+
createCompleteWebAuthnRegistrationClient,
|
|
21
|
+
createStartWebAuthnRegistrationClient,
|
|
22
|
+
} from '../../foundation/factories/serviceClients/cognitoIdentityProvider';
|
|
23
|
+
import { PasskeyError } from '../utils/passkey/errors';
|
|
24
|
+
import { AuthError } from '../../errors/AuthError';
|
|
25
|
+
import { assertValidCredentialCreationOptions } from '../utils/passkey/types';
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Registers a new passkey for an authenticated user
|
|
29
|
+
*
|
|
30
|
+
* @returns Promise<void>
|
|
31
|
+
* @throws - {@link PasskeyError}:
|
|
32
|
+
* - Thrown when intermediate state is invalid
|
|
33
|
+
* @throws - {@link AuthError}:
|
|
34
|
+
* - Thrown when user is unauthenticated
|
|
35
|
+
* @throws - {@link StartWebAuthnRegistrationException}
|
|
36
|
+
* - Thrown due to a service error retrieving WebAuthn registration options
|
|
37
|
+
* @throws - {@link CompleteWebAuthnRegistrationException}
|
|
38
|
+
* - Thrown due to a service error when verifying WebAuthn registration result
|
|
39
|
+
*/
|
|
40
|
+
export async function associateWebAuthnCredential(): Promise<void> {
|
|
41
|
+
const authConfig = Amplify.getConfig().Auth?.Cognito;
|
|
42
|
+
|
|
43
|
+
assertTokenProviderConfig(authConfig);
|
|
44
|
+
|
|
45
|
+
const { userPoolEndpoint, userPoolId } = authConfig;
|
|
46
|
+
|
|
47
|
+
const { tokens } = await fetchAuthSession();
|
|
48
|
+
|
|
49
|
+
assertAuthTokens(tokens);
|
|
50
|
+
|
|
51
|
+
const startWebAuthnRegistration = createStartWebAuthnRegistrationClient({
|
|
52
|
+
endpointResolver: createCognitoUserPoolEndpointResolver({
|
|
53
|
+
endpointOverride: userPoolEndpoint,
|
|
54
|
+
}),
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
const { CredentialCreationOptions: credentialCreationOptions } =
|
|
58
|
+
await startWebAuthnRegistration(
|
|
59
|
+
{
|
|
60
|
+
region: getRegionFromUserPoolId(userPoolId),
|
|
61
|
+
userAgentValue: getAuthUserAgentValue(
|
|
62
|
+
AuthAction.StartWebAuthnRegistration,
|
|
63
|
+
),
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
AccessToken: tokens.accessToken.toString(),
|
|
67
|
+
},
|
|
68
|
+
);
|
|
69
|
+
|
|
70
|
+
assertValidCredentialCreationOptions(credentialCreationOptions);
|
|
71
|
+
|
|
72
|
+
const cred = await registerPasskey(credentialCreationOptions);
|
|
73
|
+
|
|
74
|
+
const completeWebAuthnRegistration = createCompleteWebAuthnRegistrationClient(
|
|
75
|
+
{
|
|
76
|
+
endpointResolver: createCognitoUserPoolEndpointResolver({
|
|
77
|
+
endpointOverride: userPoolEndpoint,
|
|
78
|
+
}),
|
|
79
|
+
},
|
|
80
|
+
);
|
|
81
|
+
|
|
82
|
+
await completeWebAuthnRegistration(
|
|
83
|
+
{
|
|
84
|
+
region: getRegionFromUserPoolId(userPoolId),
|
|
85
|
+
userAgentValue: getAuthUserAgentValue(
|
|
86
|
+
AuthAction.CompleteWebAuthnRegistration,
|
|
87
|
+
),
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
AccessToken: tokens.accessToken.toString(),
|
|
91
|
+
Credential: cred,
|
|
92
|
+
},
|
|
93
|
+
);
|
|
94
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import { Amplify } from '@aws-amplify/core';
|
|
5
|
+
|
|
6
|
+
import { DeleteWebAuthnCredentialException } from '../../foundation/factories/serviceClients/cognitoIdentityProvider/types';
|
|
7
|
+
import { DeleteWebAuthnCredentialInput } from '../../foundation/types';
|
|
8
|
+
import { AuthError } from '../../errors/AuthError';
|
|
9
|
+
import { deleteWebAuthnCredential as deleteWebAuthnCredentialFoundation } from '../../foundation/apis';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Delete a registered credential for an authenticated user by credentialId
|
|
13
|
+
* @param {DeleteWebAuthnCredentialInput} input The delete input parameters including the credentialId
|
|
14
|
+
* @returns Promise<void>
|
|
15
|
+
* @throws - {@link AuthError}:
|
|
16
|
+
* - Thrown when user is unauthenticated
|
|
17
|
+
* @throws - {@link DeleteWebAuthnCredentialException}
|
|
18
|
+
* - Thrown due to a service error when deleting a WebAuthn credential
|
|
19
|
+
*/
|
|
20
|
+
export async function deleteWebAuthnCredential(
|
|
21
|
+
input: DeleteWebAuthnCredentialInput,
|
|
22
|
+
): Promise<void> {
|
|
23
|
+
return deleteWebAuthnCredentialFoundation(Amplify, input);
|
|
24
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
export { associateWebAuthnCredential } from './associateWebAuthnCredential';
|
|
5
|
+
export { listWebAuthnCredentials } from './listWebAuthnCredentials';
|
|
6
|
+
export { deleteWebAuthnCredential } from './deleteWebAuthnCredential';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import { Amplify } from '@aws-amplify/core';
|
|
5
|
+
|
|
6
|
+
import { ListWebAuthnCredentialsException } from '../../foundation/factories/serviceClients/cognitoIdentityProvider/types';
|
|
7
|
+
import {
|
|
8
|
+
ListWebAuthnCredentialsInput,
|
|
9
|
+
ListWebAuthnCredentialsOutput,
|
|
10
|
+
} from '../../foundation/types';
|
|
11
|
+
import { AuthError } from '../../errors/AuthError';
|
|
12
|
+
import { listWebAuthnCredentials as listWebAuthnCredentialsFoundation } from '../../foundation/apis';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Lists registered credentials for an authenticated user
|
|
16
|
+
*
|
|
17
|
+
* @param {ListWebAuthnCredentialsInput} input The list input parameters including page size and next token.
|
|
18
|
+
* @returns Promise<ListWebAuthnCredentialsOutput>
|
|
19
|
+
* @throws - {@link AuthError}:
|
|
20
|
+
* - Thrown when user is unauthenticated
|
|
21
|
+
* @throws - {@link ListWebAuthnCredentialsException}
|
|
22
|
+
* - Thrown due to a service error when listing WebAuthn credentials
|
|
23
|
+
*/
|
|
24
|
+
export async function listWebAuthnCredentials(
|
|
25
|
+
input?: ListWebAuthnCredentialsInput,
|
|
26
|
+
): Promise<ListWebAuthnCredentialsOutput> {
|
|
27
|
+
return listWebAuthnCredentialsFoundation(Amplify, input);
|
|
28
|
+
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import { CognitoUserPoolConfig } from '@aws-amplify/core';
|
|
5
|
+
import { AuthAction } from '@aws-amplify/core/internals/utils';
|
|
6
|
+
|
|
7
|
+
import { getUserContextData } from '../../../providers/cognito/utils/userContextData';
|
|
8
|
+
import { AuthTokenOrchestrator } from '../../../providers/cognito/tokenProvider/types';
|
|
9
|
+
import { AuthFlowType, ClientMetadata } from '../../../providers/cognito/types';
|
|
10
|
+
import {
|
|
11
|
+
ChallengeParameters,
|
|
12
|
+
InitiateAuthCommandInput,
|
|
13
|
+
RespondToAuthChallengeCommandOutput,
|
|
14
|
+
} from '../../../foundation/factories/serviceClients/cognitoIdentityProvider/types';
|
|
15
|
+
import { getAuthenticationHelper } from '../../../providers/cognito/utils/srp';
|
|
16
|
+
import {
|
|
17
|
+
handlePasswordVerifierChallenge,
|
|
18
|
+
retryOnResourceNotFoundException,
|
|
19
|
+
setActiveSignInUsername,
|
|
20
|
+
} from '../../../providers/cognito/utils/signInHelpers';
|
|
21
|
+
import { createInitiateAuthClient } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider';
|
|
22
|
+
import { createCognitoUserPoolEndpointResolver } from '../../../providers/cognito/factories';
|
|
23
|
+
import { getRegionFromUserPoolId } from '../../../foundation/parsers';
|
|
24
|
+
import { getAuthUserAgentValue } from '../../../utils';
|
|
25
|
+
import { AuthFactorType } from '../../../providers/cognito/types/models';
|
|
26
|
+
|
|
27
|
+
interface HandlePasswordSRPInput {
|
|
28
|
+
username: string;
|
|
29
|
+
password: string;
|
|
30
|
+
clientMetadata: ClientMetadata | undefined;
|
|
31
|
+
config: CognitoUserPoolConfig;
|
|
32
|
+
tokenOrchestrator: AuthTokenOrchestrator;
|
|
33
|
+
authFlow: AuthFlowType;
|
|
34
|
+
preferredChallenge?: AuthFactorType;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Handles the Password SRP (Secure Remote Password) authentication flow.
|
|
39
|
+
* This function can be used with both USER_SRP_AUTH and USER_AUTH flows.
|
|
40
|
+
*
|
|
41
|
+
* @param {Object} params - The parameters for the Password SRP authentication
|
|
42
|
+
* @param {string} params.username - The username for authentication
|
|
43
|
+
* @param {string} params.password - The user's password
|
|
44
|
+
* @param {ClientMetadata} [params.clientMetadata] - Optional metadata to be sent with auth requests
|
|
45
|
+
* @param {CognitoUserPoolConfig} params.config - Cognito User Pool configuration
|
|
46
|
+
* @param {AuthTokenOrchestrator} params.tokenOrchestrator - Token orchestrator for managing auth tokens
|
|
47
|
+
* @param {AuthFlowType} params.authFlow - The type of authentication flow ('USER_SRP_AUTH' or 'USER_AUTH')
|
|
48
|
+
* @param {AuthFactorType} [params.preferredChallenge] - Optional preferred challenge type when using USER_AUTH flow
|
|
49
|
+
*
|
|
50
|
+
* @returns {Promise<RespondToAuthChallengeCommandOutput>} The authentication response
|
|
51
|
+
*/
|
|
52
|
+
export async function handlePasswordSRP({
|
|
53
|
+
username,
|
|
54
|
+
password,
|
|
55
|
+
clientMetadata,
|
|
56
|
+
config,
|
|
57
|
+
tokenOrchestrator,
|
|
58
|
+
authFlow,
|
|
59
|
+
preferredChallenge,
|
|
60
|
+
}: HandlePasswordSRPInput): Promise<RespondToAuthChallengeCommandOutput> {
|
|
61
|
+
const { userPoolId, userPoolClientId, userPoolEndpoint } = config;
|
|
62
|
+
const userPoolName = userPoolId?.split('_')[1] || '';
|
|
63
|
+
const authenticationHelper = await getAuthenticationHelper(userPoolName);
|
|
64
|
+
|
|
65
|
+
const authParameters: Record<string, string> = {
|
|
66
|
+
USERNAME: username,
|
|
67
|
+
SRP_A: authenticationHelper.A.toString(16),
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
if (authFlow === 'USER_AUTH' && preferredChallenge) {
|
|
71
|
+
authParameters.PREFERRED_CHALLENGE = preferredChallenge;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const UserContextData = getUserContextData({
|
|
75
|
+
username,
|
|
76
|
+
userPoolId,
|
|
77
|
+
userPoolClientId,
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
const jsonReq: InitiateAuthCommandInput = {
|
|
81
|
+
AuthFlow: authFlow,
|
|
82
|
+
AuthParameters: authParameters,
|
|
83
|
+
ClientMetadata: clientMetadata,
|
|
84
|
+
ClientId: userPoolClientId,
|
|
85
|
+
UserContextData,
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
const initiateAuth = createInitiateAuthClient({
|
|
89
|
+
endpointResolver: createCognitoUserPoolEndpointResolver({
|
|
90
|
+
endpointOverride: userPoolEndpoint,
|
|
91
|
+
}),
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
const resp = await initiateAuth(
|
|
95
|
+
{
|
|
96
|
+
region: getRegionFromUserPoolId(userPoolId),
|
|
97
|
+
userAgentValue: getAuthUserAgentValue(AuthAction.SignIn),
|
|
98
|
+
},
|
|
99
|
+
jsonReq,
|
|
100
|
+
);
|
|
101
|
+
|
|
102
|
+
const { ChallengeParameters: challengeParameters, Session: session } = resp;
|
|
103
|
+
const activeUsername = challengeParameters?.USERNAME ?? username;
|
|
104
|
+
setActiveSignInUsername(activeUsername);
|
|
105
|
+
if (resp.ChallengeName === 'PASSWORD_VERIFIER') {
|
|
106
|
+
return retryOnResourceNotFoundException(
|
|
107
|
+
handlePasswordVerifierChallenge,
|
|
108
|
+
[
|
|
109
|
+
password,
|
|
110
|
+
challengeParameters as ChallengeParameters,
|
|
111
|
+
clientMetadata,
|
|
112
|
+
session,
|
|
113
|
+
authenticationHelper,
|
|
114
|
+
config,
|
|
115
|
+
tokenOrchestrator,
|
|
116
|
+
],
|
|
117
|
+
activeUsername,
|
|
118
|
+
tokenOrchestrator,
|
|
119
|
+
);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
return resp;
|
|
123
|
+
}
|