@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
|
@@ -0,0 +1,62 @@
|
|
|
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 { ClientMetadata } from '../../../providers/cognito/types';
|
|
8
|
+
import { createRespondToAuthChallengeClient } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider';
|
|
9
|
+
import { createCognitoUserPoolEndpointResolver } from '../../../providers/cognito/factories';
|
|
10
|
+
import { getRegionFromUserPoolId } from '../../../foundation/parsers';
|
|
11
|
+
import { getAuthUserAgentValue } from '../../../utils';
|
|
12
|
+
import { RespondToAuthChallengeCommandOutput } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider/types';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Handles the SELECT_CHALLENGE response for authentication.
|
|
16
|
+
* Initiates the selected authentication challenge based on user choice.
|
|
17
|
+
*
|
|
18
|
+
* @param {Object} params - The parameters for handling the selected challenge
|
|
19
|
+
* @param {string} params.username - The username for authentication
|
|
20
|
+
* @param {string} params.session - The current authentication session token
|
|
21
|
+
* @param {string} params.selectedChallenge - The challenge type selected by the user
|
|
22
|
+
* @param {CognitoUserPoolConfig} params.config - Cognito User Pool configuration
|
|
23
|
+
* @param {ClientMetadata} [params.clientMetadata] - Optional metadata to be sent with auth requests
|
|
24
|
+
*
|
|
25
|
+
* @returns {Promise<RespondToAuthChallengeCommandOutput>} The challenge response
|
|
26
|
+
*/
|
|
27
|
+
export async function initiateSelectedChallenge({
|
|
28
|
+
username,
|
|
29
|
+
session,
|
|
30
|
+
selectedChallenge,
|
|
31
|
+
config,
|
|
32
|
+
clientMetadata,
|
|
33
|
+
}: {
|
|
34
|
+
username: string;
|
|
35
|
+
session: string;
|
|
36
|
+
selectedChallenge: string;
|
|
37
|
+
config: CognitoUserPoolConfig;
|
|
38
|
+
clientMetadata?: ClientMetadata;
|
|
39
|
+
}): Promise<RespondToAuthChallengeCommandOutput> {
|
|
40
|
+
const respondToAuthChallenge = createRespondToAuthChallengeClient({
|
|
41
|
+
endpointResolver: createCognitoUserPoolEndpointResolver({
|
|
42
|
+
endpointOverride: config.userPoolEndpoint,
|
|
43
|
+
}),
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
return respondToAuthChallenge(
|
|
47
|
+
{
|
|
48
|
+
region: getRegionFromUserPoolId(config.userPoolId),
|
|
49
|
+
userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
ChallengeName: 'SELECT_CHALLENGE',
|
|
53
|
+
ChallengeResponses: {
|
|
54
|
+
USERNAME: username,
|
|
55
|
+
ANSWER: selectedChallenge,
|
|
56
|
+
},
|
|
57
|
+
ClientId: config.userPoolClientId,
|
|
58
|
+
Session: session,
|
|
59
|
+
ClientMetadata: clientMetadata,
|
|
60
|
+
},
|
|
61
|
+
);
|
|
62
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
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 { ClientMetadata } from '../../../providers/cognito/types';
|
|
8
|
+
import { createRespondToAuthChallengeClient } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider';
|
|
9
|
+
import { createCognitoUserPoolEndpointResolver } from '../../../providers/cognito/factories';
|
|
10
|
+
import { getRegionFromUserPoolId } from '../../../foundation/parsers';
|
|
11
|
+
import { getAuthUserAgentValue } from '../../../utils';
|
|
12
|
+
import { getUserContextData } from '../../../providers/cognito/utils/userContextData';
|
|
13
|
+
import { RespondToAuthChallengeCommandOutput } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider/types';
|
|
14
|
+
import { setActiveSignInUsername } from '../../../providers/cognito/utils/signInHelpers';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Handles the SELECT_CHALLENGE response specifically for Password authentication.
|
|
18
|
+
* This function combines the SELECT_CHALLENGE flow with standard password authentication.
|
|
19
|
+
*
|
|
20
|
+
* @param {string} username - The username for authentication
|
|
21
|
+
* @param {string} password - The user's password
|
|
22
|
+
* @param {ClientMetadata} [clientMetadata] - Optional metadata to be sent with auth requests
|
|
23
|
+
* @param {CognitoUserPoolConfig} config - Cognito User Pool configuration
|
|
24
|
+
* @param {string} session - The current authentication session token
|
|
25
|
+
*
|
|
26
|
+
* @returns {Promise<RespondToAuthChallengeCommandOutput>} The challenge response
|
|
27
|
+
*/
|
|
28
|
+
export async function handleSelectChallengeWithPassword(
|
|
29
|
+
username: string,
|
|
30
|
+
password: string,
|
|
31
|
+
clientMetadata: ClientMetadata | undefined,
|
|
32
|
+
config: CognitoUserPoolConfig,
|
|
33
|
+
session: string,
|
|
34
|
+
): Promise<RespondToAuthChallengeCommandOutput> {
|
|
35
|
+
const { userPoolId, userPoolClientId, userPoolEndpoint } = config;
|
|
36
|
+
|
|
37
|
+
const authParameters: Record<string, string> = {
|
|
38
|
+
ANSWER: 'PASSWORD',
|
|
39
|
+
USERNAME: username,
|
|
40
|
+
PASSWORD: password,
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
const userContextData = getUserContextData({
|
|
44
|
+
username,
|
|
45
|
+
userPoolId,
|
|
46
|
+
userPoolClientId,
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
const respondToAuthChallenge = createRespondToAuthChallengeClient({
|
|
50
|
+
endpointResolver: createCognitoUserPoolEndpointResolver({
|
|
51
|
+
endpointOverride: userPoolEndpoint,
|
|
52
|
+
}),
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
const response = await respondToAuthChallenge(
|
|
56
|
+
{
|
|
57
|
+
region: getRegionFromUserPoolId(userPoolId),
|
|
58
|
+
userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
ChallengeName: 'SELECT_CHALLENGE',
|
|
62
|
+
ChallengeResponses: authParameters,
|
|
63
|
+
ClientId: userPoolClientId,
|
|
64
|
+
ClientMetadata: clientMetadata,
|
|
65
|
+
Session: session,
|
|
66
|
+
UserContextData: userContextData,
|
|
67
|
+
},
|
|
68
|
+
);
|
|
69
|
+
|
|
70
|
+
const activeUsername = response.ChallengeParameters?.USERNAME ?? username;
|
|
71
|
+
setActiveSignInUsername(activeUsername);
|
|
72
|
+
|
|
73
|
+
return response;
|
|
74
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
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 { AuthTokenOrchestrator } from '../../../providers/cognito/tokenProvider/types';
|
|
8
|
+
import {
|
|
9
|
+
ChallengeParameters,
|
|
10
|
+
RespondToAuthChallengeCommandOutput,
|
|
11
|
+
} from '../../../foundation/factories/serviceClients/cognitoIdentityProvider/types';
|
|
12
|
+
import { ClientMetadata } from '../../../providers/cognito/types';
|
|
13
|
+
import { createRespondToAuthChallengeClient } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider';
|
|
14
|
+
import { createCognitoUserPoolEndpointResolver } from '../../../providers/cognito/factories';
|
|
15
|
+
import { getRegionFromUserPoolId } from '../../../foundation/parsers';
|
|
16
|
+
import { getAuthUserAgentValue } from '../../../utils';
|
|
17
|
+
import { getAuthenticationHelper } from '../../../providers/cognito/utils/srp';
|
|
18
|
+
import { getUserContextData } from '../../../providers/cognito/utils/userContextData';
|
|
19
|
+
import {
|
|
20
|
+
handlePasswordVerifierChallenge,
|
|
21
|
+
retryOnResourceNotFoundException,
|
|
22
|
+
setActiveSignInUsername,
|
|
23
|
+
} from '../../../providers/cognito/utils/signInHelpers';
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Handles the SELECT_CHALLENGE response specifically for Password SRP authentication.
|
|
27
|
+
* This function combines the SELECT_CHALLENGE flow with Password SRP protocol.
|
|
28
|
+
*
|
|
29
|
+
* @param {string} username - The username for authentication
|
|
30
|
+
* @param {string} password - The user's password
|
|
31
|
+
* @param {ClientMetadata} [clientMetadata] - Optional metadata to be sent with auth requests
|
|
32
|
+
* @param {CognitoUserPoolConfig} config - Cognito User Pool configuration
|
|
33
|
+
* @param {string} session - The current authentication session token
|
|
34
|
+
* @param {AuthTokenOrchestrator} tokenOrchestrator - Token orchestrator for managing auth tokens
|
|
35
|
+
*
|
|
36
|
+
* @returns {Promise<RespondToAuthChallengeCommandOutput>} The challenge response
|
|
37
|
+
*/
|
|
38
|
+
export async function handleSelectChallengeWithPasswordSRP(
|
|
39
|
+
username: string,
|
|
40
|
+
password: string,
|
|
41
|
+
clientMetadata: ClientMetadata | undefined,
|
|
42
|
+
config: CognitoUserPoolConfig,
|
|
43
|
+
session: string,
|
|
44
|
+
tokenOrchestrator: AuthTokenOrchestrator,
|
|
45
|
+
): Promise<RespondToAuthChallengeCommandOutput> {
|
|
46
|
+
const { userPoolId, userPoolClientId, userPoolEndpoint } = config;
|
|
47
|
+
const userPoolName = userPoolId.split('_')[1] || '';
|
|
48
|
+
|
|
49
|
+
const authenticationHelper = await getAuthenticationHelper(userPoolName);
|
|
50
|
+
|
|
51
|
+
const authParameters: Record<string, string> = {
|
|
52
|
+
ANSWER: 'PASSWORD_SRP',
|
|
53
|
+
USERNAME: username,
|
|
54
|
+
SRP_A: authenticationHelper.A.toString(16),
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
const userContextData = getUserContextData({
|
|
58
|
+
username,
|
|
59
|
+
userPoolId,
|
|
60
|
+
userPoolClientId,
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
const respondToAuthChallenge = createRespondToAuthChallengeClient({
|
|
64
|
+
endpointResolver: createCognitoUserPoolEndpointResolver({
|
|
65
|
+
endpointOverride: userPoolEndpoint,
|
|
66
|
+
}),
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
const response = await respondToAuthChallenge(
|
|
70
|
+
{
|
|
71
|
+
region: getRegionFromUserPoolId(userPoolId),
|
|
72
|
+
userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
ChallengeName: 'SELECT_CHALLENGE',
|
|
76
|
+
ChallengeResponses: authParameters,
|
|
77
|
+
ClientId: userPoolClientId,
|
|
78
|
+
ClientMetadata: clientMetadata,
|
|
79
|
+
Session: session,
|
|
80
|
+
UserContextData: userContextData,
|
|
81
|
+
},
|
|
82
|
+
);
|
|
83
|
+
|
|
84
|
+
const activeUsername = response.ChallengeParameters?.USERNAME ?? username;
|
|
85
|
+
setActiveSignInUsername(activeUsername);
|
|
86
|
+
|
|
87
|
+
if (response.ChallengeName === 'PASSWORD_VERIFIER') {
|
|
88
|
+
return retryOnResourceNotFoundException(
|
|
89
|
+
handlePasswordVerifierChallenge,
|
|
90
|
+
[
|
|
91
|
+
password,
|
|
92
|
+
response.ChallengeParameters as ChallengeParameters,
|
|
93
|
+
clientMetadata,
|
|
94
|
+
response.Session,
|
|
95
|
+
authenticationHelper,
|
|
96
|
+
config,
|
|
97
|
+
tokenOrchestrator,
|
|
98
|
+
],
|
|
99
|
+
activeUsername,
|
|
100
|
+
tokenOrchestrator,
|
|
101
|
+
);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
return response;
|
|
105
|
+
}
|
|
@@ -0,0 +1,125 @@
|
|
|
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 { AuthFactorType } from '../../../providers/cognito/types/models';
|
|
10
|
+
import {
|
|
11
|
+
InitiateAuthCommandInput,
|
|
12
|
+
InitiateAuthCommandOutput,
|
|
13
|
+
} from '../../../foundation/factories/serviceClients/cognitoIdentityProvider/types';
|
|
14
|
+
import { createInitiateAuthClient } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider';
|
|
15
|
+
import { createCognitoUserPoolEndpointResolver } from '../../../providers/cognito/factories';
|
|
16
|
+
import { getRegionFromUserPoolId } from '../../../foundation/parsers';
|
|
17
|
+
import { getAuthUserAgentValue } from '../../../utils';
|
|
18
|
+
import { handlePasswordSRP } from '../shared/handlePasswordSRP';
|
|
19
|
+
import { assertValidationError } from '../../../errors/utils/assertValidationError';
|
|
20
|
+
import { AuthValidationErrorCode } from '../../../errors/types/validation';
|
|
21
|
+
import { setActiveSignInUsername } from '../../../providers/cognito/utils/signInHelpers';
|
|
22
|
+
|
|
23
|
+
export interface HandleUserAuthFlowInput {
|
|
24
|
+
username: string;
|
|
25
|
+
config: CognitoUserPoolConfig;
|
|
26
|
+
tokenOrchestrator: AuthTokenOrchestrator;
|
|
27
|
+
clientMetadata?: Record<string, string>;
|
|
28
|
+
preferredChallenge?: AuthFactorType;
|
|
29
|
+
password?: string;
|
|
30
|
+
session?: string;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Handles user authentication flow with configurable challenge preferences.
|
|
35
|
+
* Supports AuthFactorType challenges through the USER_AUTH flow.
|
|
36
|
+
*
|
|
37
|
+
* @param {HandleUserAuthFlowInput} params - Authentication flow parameters
|
|
38
|
+
* @param {string} params.username - The username for authentication
|
|
39
|
+
* @param {Record<string, string>} [params.clientMetadata] - Optional metadata to pass to authentication service
|
|
40
|
+
* @param {CognitoUserPoolConfig} params.config - Cognito User Pool configuration
|
|
41
|
+
* @param {AuthTokenOrchestrator} params.tokenOrchestrator - Manages authentication tokens and device tracking
|
|
42
|
+
* @param {AuthFactorType} [params.preferredChallenge] - Optional preferred authentication method
|
|
43
|
+
* @param {string} [params.password] - Required when preferredChallenge is 'PASSWORD' or 'PASSWORD_SRP'
|
|
44
|
+
*
|
|
45
|
+
* @returns {Promise<InitiateAuthCommandOutput>} The authentication response from Cognito
|
|
46
|
+
*/
|
|
47
|
+
export async function handleUserAuthFlow({
|
|
48
|
+
username,
|
|
49
|
+
clientMetadata,
|
|
50
|
+
config,
|
|
51
|
+
tokenOrchestrator,
|
|
52
|
+
preferredChallenge,
|
|
53
|
+
password,
|
|
54
|
+
session,
|
|
55
|
+
}: HandleUserAuthFlowInput) {
|
|
56
|
+
const { userPoolId, userPoolClientId, userPoolEndpoint } = config;
|
|
57
|
+
const UserContextData = getUserContextData({
|
|
58
|
+
username,
|
|
59
|
+
userPoolId,
|
|
60
|
+
userPoolClientId,
|
|
61
|
+
});
|
|
62
|
+
const authParameters: Record<string, string> = { USERNAME: username };
|
|
63
|
+
|
|
64
|
+
if (preferredChallenge) {
|
|
65
|
+
if (preferredChallenge === 'PASSWORD_SRP') {
|
|
66
|
+
assertValidationError(
|
|
67
|
+
!!password,
|
|
68
|
+
AuthValidationErrorCode.EmptySignInPassword,
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
return handlePasswordSRP({
|
|
72
|
+
username,
|
|
73
|
+
password,
|
|
74
|
+
clientMetadata,
|
|
75
|
+
config,
|
|
76
|
+
tokenOrchestrator,
|
|
77
|
+
authFlow: 'USER_AUTH',
|
|
78
|
+
preferredChallenge,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
if (preferredChallenge === 'PASSWORD') {
|
|
83
|
+
assertValidationError(
|
|
84
|
+
!!password,
|
|
85
|
+
AuthValidationErrorCode.EmptySignInPassword,
|
|
86
|
+
);
|
|
87
|
+
authParameters.PASSWORD = password;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
authParameters.PREFERRED_CHALLENGE = preferredChallenge;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
const jsonReq: InitiateAuthCommandInput = {
|
|
94
|
+
AuthFlow: 'USER_AUTH',
|
|
95
|
+
AuthParameters: authParameters,
|
|
96
|
+
ClientMetadata: clientMetadata,
|
|
97
|
+
ClientId: userPoolClientId,
|
|
98
|
+
UserContextData,
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
if (session) {
|
|
102
|
+
jsonReq.Session = session;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
const initiateAuth = createInitiateAuthClient({
|
|
106
|
+
endpointResolver: createCognitoUserPoolEndpointResolver({
|
|
107
|
+
endpointOverride: userPoolEndpoint,
|
|
108
|
+
}),
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
const response = await initiateAuth(
|
|
112
|
+
{
|
|
113
|
+
region: getRegionFromUserPoolId(userPoolId),
|
|
114
|
+
userAgentValue: getAuthUserAgentValue(AuthAction.SignIn),
|
|
115
|
+
},
|
|
116
|
+
jsonReq,
|
|
117
|
+
);
|
|
118
|
+
|
|
119
|
+
// Set the active username immediately after successful authentication attempt
|
|
120
|
+
// If a user starts a new sign-in while another sign-in is incomplete,
|
|
121
|
+
// this ensures we're tracking the correct user for subsequent auth challenges.
|
|
122
|
+
setActiveSignInUsername(username);
|
|
123
|
+
|
|
124
|
+
return response;
|
|
125
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
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
|
+
import {
|
|
6
|
+
AuthAction,
|
|
7
|
+
assertTokenProviderConfig,
|
|
8
|
+
} from '@aws-amplify/core/internals/utils';
|
|
9
|
+
|
|
10
|
+
import { AuthErrorCodes } from '../../../common/AuthErrorStrings';
|
|
11
|
+
import { createRespondToAuthChallengeClient } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider';
|
|
12
|
+
import {
|
|
13
|
+
ChallengeName,
|
|
14
|
+
ChallengeParameters,
|
|
15
|
+
} from '../../../foundation/factories/serviceClients/cognitoIdentityProvider/types';
|
|
16
|
+
import { getRegionFromUserPoolId } from '../../../foundation/parsers';
|
|
17
|
+
import { createCognitoUserPoolEndpointResolver } from '../../../providers/cognito/factories';
|
|
18
|
+
import { cacheCognitoTokens } from '../../../providers/cognito/tokenProvider/cacheTokens';
|
|
19
|
+
import { dispatchSignedInHubEvent } from '../../../providers/cognito/utils/dispatchSignedInHubEvent';
|
|
20
|
+
import {
|
|
21
|
+
getNewDeviceMetadata,
|
|
22
|
+
getSignInResult,
|
|
23
|
+
} from '../../../providers/cognito/utils/signInHelpers';
|
|
24
|
+
import {
|
|
25
|
+
cleanActiveSignInState,
|
|
26
|
+
setActiveSignInState,
|
|
27
|
+
signInStore,
|
|
28
|
+
} from '../../../client/utils/store';
|
|
29
|
+
import { AuthSignInOutput } from '../../../types';
|
|
30
|
+
import { getAuthUserAgentValue } from '../../../utils';
|
|
31
|
+
import { getPasskey } from '../../utils/passkey';
|
|
32
|
+
import {
|
|
33
|
+
PasskeyErrorCode,
|
|
34
|
+
assertPasskeyError,
|
|
35
|
+
} from '../../utils/passkey/errors';
|
|
36
|
+
import { AuthError } from '../../../errors/AuthError';
|
|
37
|
+
|
|
38
|
+
export async function handleWebAuthnSignInResult(
|
|
39
|
+
challengeParameters: ChallengeParameters,
|
|
40
|
+
): Promise<AuthSignInOutput> {
|
|
41
|
+
const authConfig = Amplify.getConfig().Auth?.Cognito;
|
|
42
|
+
assertTokenProviderConfig(authConfig);
|
|
43
|
+
const { username, signInSession, signInDetails, challengeName } =
|
|
44
|
+
signInStore.getState();
|
|
45
|
+
|
|
46
|
+
if (challengeName !== 'WEB_AUTHN' || !username) {
|
|
47
|
+
throw new AuthError({
|
|
48
|
+
name: AuthErrorCodes.SignInException,
|
|
49
|
+
message: 'Unable to proceed due to invalid sign in state.',
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
const { CREDENTIAL_REQUEST_OPTIONS: credentialRequestOptions } =
|
|
54
|
+
challengeParameters;
|
|
55
|
+
|
|
56
|
+
assertPasskeyError(
|
|
57
|
+
!!credentialRequestOptions,
|
|
58
|
+
PasskeyErrorCode.InvalidPasskeyAuthenticationOptions,
|
|
59
|
+
);
|
|
60
|
+
|
|
61
|
+
const cred = await getPasskey(JSON.parse(credentialRequestOptions));
|
|
62
|
+
|
|
63
|
+
const respondToAuthChallenge = createRespondToAuthChallengeClient({
|
|
64
|
+
endpointResolver: createCognitoUserPoolEndpointResolver({
|
|
65
|
+
endpointOverride: authConfig.userPoolEndpoint,
|
|
66
|
+
}),
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
const {
|
|
70
|
+
ChallengeName: nextChallengeName,
|
|
71
|
+
ChallengeParameters: nextChallengeParameters,
|
|
72
|
+
AuthenticationResult: authenticationResult,
|
|
73
|
+
Session: nextSession,
|
|
74
|
+
} = await respondToAuthChallenge(
|
|
75
|
+
{
|
|
76
|
+
region: getRegionFromUserPoolId(authConfig.userPoolId),
|
|
77
|
+
userAgentValue: getAuthUserAgentValue(AuthAction.ConfirmSignIn),
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
ChallengeName: 'WEB_AUTHN',
|
|
81
|
+
ChallengeResponses: {
|
|
82
|
+
USERNAME: username,
|
|
83
|
+
CREDENTIAL: JSON.stringify(cred),
|
|
84
|
+
},
|
|
85
|
+
ClientId: authConfig.userPoolClientId,
|
|
86
|
+
Session: signInSession,
|
|
87
|
+
},
|
|
88
|
+
);
|
|
89
|
+
|
|
90
|
+
setActiveSignInState({
|
|
91
|
+
signInSession: nextSession,
|
|
92
|
+
username,
|
|
93
|
+
challengeName: nextChallengeName as ChallengeName,
|
|
94
|
+
signInDetails,
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
if (authenticationResult) {
|
|
98
|
+
await cacheCognitoTokens({
|
|
99
|
+
...authenticationResult,
|
|
100
|
+
username,
|
|
101
|
+
NewDeviceMetadata: await getNewDeviceMetadata({
|
|
102
|
+
userPoolId: authConfig.userPoolId,
|
|
103
|
+
userPoolEndpoint: authConfig.userPoolEndpoint,
|
|
104
|
+
newDeviceMetadata: authenticationResult.NewDeviceMetadata,
|
|
105
|
+
accessToken: authenticationResult.AccessToken,
|
|
106
|
+
}),
|
|
107
|
+
signInDetails,
|
|
108
|
+
});
|
|
109
|
+
cleanActiveSignInState();
|
|
110
|
+
await dispatchSignedInHubEvent();
|
|
111
|
+
|
|
112
|
+
return {
|
|
113
|
+
isSignedIn: true,
|
|
114
|
+
nextStep: { signInStep: 'DONE' },
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
if (nextChallengeName === 'WEB_AUTHN') {
|
|
119
|
+
throw new AuthError({
|
|
120
|
+
name: AuthErrorCodes.SignInException,
|
|
121
|
+
message:
|
|
122
|
+
'Sequential WEB_AUTHN challenges returned from underlying service cannot be handled.',
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
return getSignInResult({
|
|
127
|
+
challengeName: nextChallengeName as ChallengeName,
|
|
128
|
+
challengeParameters: nextChallengeParameters as ChallengeParameters,
|
|
129
|
+
});
|
|
130
|
+
}
|