diff --git a/.changeset/smooth-pumpkins-retire.md b/.changeset/smooth-pumpkins-retire.md new file mode 100644 index 00000000000..73783a2b38e --- /dev/null +++ b/.changeset/smooth-pumpkins-retire.md @@ -0,0 +1,5 @@ +--- +"@aws-amplify/ui": patch +--- + +feat: allow custom field on sign in diff --git a/packages/ui/src/machines/authenticator/actors/signIn.ts b/packages/ui/src/machines/authenticator/actors/signIn.ts index c9249c0fa3b..68375ecad0f 100644 --- a/packages/ui/src/machines/authenticator/actors/signIn.ts +++ b/packages/ui/src/machines/authenticator/actors/signIn.ts @@ -311,8 +311,18 @@ export function signInActor({ services }: SignInMachineOptions) { return services.handleResendSignUpCode({ username }); }, handleSignIn({ formValues, username }) { - const { password } = formValues; - return services.handleSignIn({ username, password }); + // Pass all form values, including custom fields, to the service handler + const customFields = Object.keys(formValues).reduce((acc, key) => { + if (key !== 'username' && key !== 'password') { + acc[key] = formValues[key]; + } + return acc; + }, {}); + return services.handleSignIn({ + username, + password: formValues.password, + customFields, + }); }, confirmSignIn({ formValues, step }) { const formValuesKey = getConfirmSignInFormValuesKey(step);