From 6df914b29515a14b1e62c1b6dcf68cfc3f7271b9 Mon Sep 17 00:00:00 2001 From: austincalvelage Date: Fri, 5 Dec 2025 09:20:51 -0700 Subject: [PATCH 1/3] Use password.enabled only --- packages/clerk-js/src/core/resources/UserSettings.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/clerk-js/src/core/resources/UserSettings.ts b/packages/clerk-js/src/core/resources/UserSettings.ts index 8af85ab38c8..ed5951b7037 100644 --- a/packages/clerk-js/src/core/resources/UserSettings.ts +++ b/packages/clerk-js/src/core/resources/UserSettings.ts @@ -191,7 +191,7 @@ export class UserSettings extends BaseResource implements UserSettingsResource { } get instanceIsPasswordBased() { - return Boolean(this.attributes?.password?.enabled && this.attributes.password?.required); + return Boolean(this.attributes?.password?.enabled); } get hasValidAuthFactor() { From cbda59cc62f4c9cfb4b0af3cfc805221312e152f Mon Sep 17 00:00:00 2001 From: austincalvelage Date: Fri, 5 Dec 2025 09:22:43 -0700 Subject: [PATCH 2/3] Adjust tests --- .../src/core/resources/__tests__/UserSettings.test.ts | 11 +++++++++++ .../UserProfile/__tests__/SecurityPage.test.tsx | 4 +--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/clerk-js/src/core/resources/__tests__/UserSettings.test.ts b/packages/clerk-js/src/core/resources/__tests__/UserSettings.test.ts index e3ec7d04cca..e87df8e5028 100644 --- a/packages/clerk-js/src/core/resources/__tests__/UserSettings.test.ts +++ b/packages/clerk-js/src/core/resources/__tests__/UserSettings.test.ts @@ -75,6 +75,17 @@ describe('UserSettings', () => { }, }, } as any as UserSettingsJSON); + expect(sut.instanceIsPasswordBased).toEqual(true); + + sut = new UserSettings({ + attributes: { + password: { + enabled: false, + required: false, + }, + }, + } as any as UserSettingsJSON); + expect(sut.instanceIsPasswordBased).toEqual(false); }); diff --git a/packages/clerk-js/src/ui/components/UserProfile/__tests__/SecurityPage.test.tsx b/packages/clerk-js/src/ui/components/UserProfile/__tests__/SecurityPage.test.tsx index 47f8004c652..d74c50398f5 100644 --- a/packages/clerk-js/src/ui/components/UserProfile/__tests__/SecurityPage.test.tsx +++ b/packages/clerk-js/src/ui/components/UserProfile/__tests__/SecurityPage.test.tsx @@ -33,9 +33,7 @@ describe('SecurityPage', () => { it('renders the Password section if instance is password based', async () => { const { wrapper, fixtures } = await createFixtures(f => { - f.withPassword({ - required: true, - }); + f.withPassword(); f.withUser({ email_addresses: ['test@clerk.com'] }); }); fixtures.clerk.user?.getSessions.mockReturnValue(Promise.resolve([])); From 23a3ea5d55771269ca34c6d40b33695f6c6020df Mon Sep 17 00:00:00 2001 From: austincalvelage Date: Fri, 5 Dec 2025 11:43:47 -0700 Subject: [PATCH 3/3] Add changeset --- .changeset/wise-olives-drive.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/wise-olives-drive.md diff --git a/.changeset/wise-olives-drive.md b/.changeset/wise-olives-drive.md new file mode 100644 index 00000000000..298c3b55be3 --- /dev/null +++ b/.changeset/wise-olives-drive.md @@ -0,0 +1,5 @@ +--- +'@clerk/clerk-js': patch +--- + +When password is enabled at the instance level, but not required allow users to add a password in the user profile. \ No newline at end of file