diff --git a/.changeset/neat-cloths-dig.md b/.changeset/neat-cloths-dig.md new file mode 100644 index 00000000000..d5143eae87a --- /dev/null +++ b/.changeset/neat-cloths-dig.md @@ -0,0 +1,5 @@ +--- +'@clerk/clerk-js': minor +--- + +Handle the `needs_new_password` sign in status when signing in via password. diff --git a/packages/clerk-js/src/ui/components/SignIn/SignInFactorOnePasswordCard.tsx b/packages/clerk-js/src/ui/components/SignIn/SignInFactorOnePasswordCard.tsx index c11f15f570e..2f27d56c2ef 100644 --- a/packages/clerk-js/src/ui/components/SignIn/SignInFactorOnePasswordCard.tsx +++ b/packages/clerk-js/src/ui/components/SignIn/SignInFactorOnePasswordCard.tsx @@ -76,6 +76,8 @@ export const SignInFactorOnePasswordCard = (props: SignInFactorOnePasswordProps) return setActive({ session: res.createdSessionId, redirectUrl: afterSignInUrl }); case 'needs_second_factor': return navigate('../factor-two'); + case 'needs_new_password': + return navigate('../reset-password'); default: return console.error(clerkInvalidFAPIResponse(res.status, supportEmail)); } diff --git a/packages/clerk-js/src/ui/components/SignIn/SignInStart.tsx b/packages/clerk-js/src/ui/components/SignIn/SignInStart.tsx index 7a69de6312d..e5ee62966f6 100644 --- a/packages/clerk-js/src/ui/components/SignIn/SignInStart.tsx +++ b/packages/clerk-js/src/ui/components/SignIn/SignInStart.tsx @@ -229,6 +229,8 @@ function SignInStartInternal(): JSX.Element { return navigate('factor-one'); case 'needs_second_factor': return navigate('factor-two'); + case 'needs_new_password': + return navigate('../reset-password'); case 'complete': removeClerkQueryParam('__clerk_ticket'); return clerk.setActive({