diff --git a/.changeset/rename-sso-fallback-to-sso-bypass.md b/.changeset/rename-sso-fallback-to-sso-bypass.md new file mode 100644 index 00000000000..97d5931135e --- /dev/null +++ b/.changeset/rename-sso-fallback-to-sso-bypass.md @@ -0,0 +1,9 @@ +--- +'@clerk/localizations': minor +'@clerk/clerk-js': minor +'@clerk/shared': minor +'@clerk/react': minor +'@clerk/ui': minor +--- + +Rename the SSO fallback sign-in flow to SSO bypass, matching the name the feature ships under. The sign-in resource's `ssoFallbackFirstFactors` is now `ssoBypassFirstFactors` and reads the `sso_bypass_first_factors` field from the API, the `signIn.ssoFallback` localization keys are now `signIn.ssoBypass`, and the `ssoFallback` card action element id is now `ssoBypass`. The flow has not been enabled on any instance, so no application is affected by the old names going away. diff --git a/packages/clerk-js/src/core/resources/SignIn.ts b/packages/clerk-js/src/core/resources/SignIn.ts index 0af675f8ea2..d6369a138a8 100644 --- a/packages/clerk-js/src/core/resources/SignIn.ts +++ b/packages/clerk-js/src/core/resources/SignIn.ts @@ -118,7 +118,7 @@ export class SignIn extends BaseResource implements SignInResource { supportedIdentifiers: SignInIdentifier[] = []; supportedFirstFactors: SignInFirstFactor[] | null = []; supportedSecondFactors: SignInSecondFactor[] | null = null; - ssoFallbackFirstFactors: SignInFirstFactor[] | null = null; + ssoBypassFirstFactors: SignInFirstFactor[] | null = null; firstFactorVerification: VerificationResource = new Verification(null); secondFactorVerification: VerificationResource = new Verification(null); identifier: string | null = null; @@ -640,7 +640,7 @@ export class SignIn extends BaseResource implements SignInResource { this.identifier = data.identifier; this.supportedFirstFactors = deepSnakeToCamel(data.supported_first_factors) as SignInFirstFactor[] | null; this.supportedSecondFactors = deepSnakeToCamel(data.supported_second_factors) as SignInSecondFactor[] | null; - this.ssoFallbackFirstFactors = deepSnakeToCamel(data.sso_fallback_first_factors ?? null) as + this.ssoBypassFirstFactors = deepSnakeToCamel(data.sso_bypass_first_factors ?? null) as | SignInFirstFactor[] | null; this.firstFactorVerification = new Verification(data.first_factor_verification); @@ -712,7 +712,7 @@ export class SignIn extends BaseResource implements SignInResource { supported_identifiers: this.supportedIdentifiers, supported_first_factors: deepCamelToSnake(this.supportedFirstFactors), supported_second_factors: deepCamelToSnake(this.supportedSecondFactors), - sso_fallback_first_factors: deepCamelToSnake(this.ssoFallbackFirstFactors) ?? undefined, + sso_bypass_first_factors: deepCamelToSnake(this.ssoBypassFirstFactors) ?? undefined, first_factor_verification: this.firstFactorVerification.__internal_toSnapshot(), second_factor_verification: this.secondFactorVerification.__internal_toSnapshot(), identifier: this.identifier, @@ -832,8 +832,8 @@ class SignInFuture implements SignInFutureResource { return this.#resource.supportedSecondFactors ?? []; } - get ssoFallbackFirstFactors() { - return this.#resource.ssoFallbackFirstFactors ?? []; + get ssoBypassFirstFactors() { + return this.#resource.ssoBypassFirstFactors ?? []; } get isTransferable() { diff --git a/packages/clerk-js/src/core/resources/__tests__/SignIn.test.ts b/packages/clerk-js/src/core/resources/__tests__/SignIn.test.ts index 7d721a3bbc6..120aafdc753 100644 --- a/packages/clerk-js/src/core/resources/__tests__/SignIn.test.ts +++ b/packages/clerk-js/src/core/resources/__tests__/SignIn.test.ts @@ -3292,7 +3292,7 @@ describe('SignIn', () => { }); }); - describe('ssoFallbackFirstFactors', () => { + describe('ssoBypassFirstFactors', () => { const baseJSON = { id: 'signin_123', object: 'sign_in', @@ -3310,29 +3310,29 @@ describe('SignIn', () => { it('defaults to null when the field is absent', () => { const signIn = new SignIn(baseJSON); - expect(signIn.ssoFallbackFirstFactors).toBeNull(); - expect(signIn.__internal_future.ssoFallbackFirstFactors).toEqual([]); - expect(signIn.__internal_toSnapshot().sso_fallback_first_factors).toBeUndefined(); + expect(signIn.ssoBypassFirstFactors).toBeNull(); + expect(signIn.__internal_future.ssoBypassFirstFactors).toEqual([]); + expect(signIn.__internal_toSnapshot().sso_bypass_first_factors).toBeUndefined(); }); it('round-trips the field through the snapshot', () => { const signIn = new SignIn({ ...baseJSON, - sso_fallback_first_factors: [ + sso_bypass_first_factors: [ { strategy: 'email_code', safe_identifier: 'user@corp.com', email_address_id: 'idn_hmac' }, ], }); - expect(signIn.ssoFallbackFirstFactors).toEqual([ + expect(signIn.ssoBypassFirstFactors).toEqual([ { strategy: 'email_code', safeIdentifier: 'user@corp.com', emailAddressId: 'idn_hmac' }, ]); - expect(signIn.__internal_future.ssoFallbackFirstFactors).toEqual(signIn.ssoFallbackFirstFactors); + expect(signIn.__internal_future.ssoBypassFirstFactors).toEqual(signIn.ssoBypassFirstFactors); const snapshot = signIn.__internal_toSnapshot(); - expect(snapshot.sso_fallback_first_factors).toEqual([ + expect(snapshot.sso_bypass_first_factors).toEqual([ { strategy: 'email_code', safe_identifier: 'user@corp.com', email_address_id: 'idn_hmac' }, ]); - expect(new SignIn(snapshot).ssoFallbackFirstFactors).toEqual(signIn.ssoFallbackFirstFactors); + expect(new SignIn(snapshot).ssoBypassFirstFactors).toEqual(signIn.ssoBypassFirstFactors); }); }); }); diff --git a/packages/localizations/src/ar-SA.ts b/packages/localizations/src/ar-SA.ts index fd4597949ca..501c54038ef 100644 --- a/packages/localizations/src/ar-SA.ts +++ b/packages/localizations/src/ar-SA.ts @@ -1687,7 +1687,7 @@ export const arSA: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'نريد التحقق من هويتك قبل أعادة تعيين كلمة المرور', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/be-BY.ts b/packages/localizations/src/be-BY.ts index fe3ed7f6329..d46ee402271 100644 --- a/packages/localizations/src/be-BY.ts +++ b/packages/localizations/src/be-BY.ts @@ -1694,7 +1694,7 @@ export const beBY: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Неабходна верыфікаваць вашу асобу перад аднаўленнем пароля', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/bg-BG.ts b/packages/localizations/src/bg-BG.ts index c6be2e48f7e..005e6811bfb 100644 --- a/packages/localizations/src/bg-BG.ts +++ b/packages/localizations/src/bg-BG.ts @@ -1690,7 +1690,7 @@ export const bgBG: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Трябва да потвърдим вашата самоличност, преди да нулираме паролата ви.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/bn-IN.ts b/packages/localizations/src/bn-IN.ts index adc228ee6af..665eced6014 100644 --- a/packages/localizations/src/bn-IN.ts +++ b/packages/localizations/src/bn-IN.ts @@ -1700,7 +1700,7 @@ export const bnIN: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'আপনার পাসওয়ার্ড রিসেট করার আগে আমাদের আপনার পরিচয় যাচাই করতে হবে।', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/ca-ES.ts b/packages/localizations/src/ca-ES.ts index f0cd8a5027d..0fcfb6aefc2 100644 --- a/packages/localizations/src/ca-ES.ts +++ b/packages/localizations/src/ca-ES.ts @@ -1699,7 +1699,7 @@ export const caES: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Necessitem verificar la teva identitat abans de restablir la teva contrasenya.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/cs-CZ.ts b/packages/localizations/src/cs-CZ.ts index 2c5a68fd287..5ea03328a4b 100644 --- a/packages/localizations/src/cs-CZ.ts +++ b/packages/localizations/src/cs-CZ.ts @@ -1698,7 +1698,7 @@ export const csCZ: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Před resetováním hesla musíme ověřit vaši identitu.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/da-DK.ts b/packages/localizations/src/da-DK.ts index 996558bf6fd..a3e3c4446fe 100644 --- a/packages/localizations/src/da-DK.ts +++ b/packages/localizations/src/da-DK.ts @@ -1688,7 +1688,7 @@ export const daDK: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Vi skal bekræfte din identitet, før du nulstiller din adgangskode.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/de-DE.ts b/packages/localizations/src/de-DE.ts index 1290fc0357e..a33c599cb3c 100644 --- a/packages/localizations/src/de-DE.ts +++ b/packages/localizations/src/de-DE.ts @@ -1707,7 +1707,7 @@ export const deDE: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Bevor wir Ihr Passwort zurücksetzen können, müssen wir Ihre Identität überprüfen.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/el-GR.ts b/packages/localizations/src/el-GR.ts index 6f4d9c5315e..26bffa89bb1 100644 --- a/packages/localizations/src/el-GR.ts +++ b/packages/localizations/src/el-GR.ts @@ -1700,7 +1700,7 @@ export const elGR: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Πρέπει να επαληθεύσουμε την ταυτότητά σας πριν επαναφέρουμε τον κωδικό πρόσβασής σας.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/en-GB.ts b/packages/localizations/src/en-GB.ts index 8a130982cc7..57be41d8186 100644 --- a/packages/localizations/src/en-GB.ts +++ b/packages/localizations/src/en-GB.ts @@ -1690,7 +1690,7 @@ export const enGB: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'We need to verify your identity before resetting your password.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/en-US.ts b/packages/localizations/src/en-US.ts index 7f3e0b7b9b5..582d944b457 100644 --- a/packages/localizations/src/en-US.ts +++ b/packages/localizations/src/en-US.ts @@ -1729,7 +1729,7 @@ export const enUS: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'We need to verify your identity before resetting your password.', }, - ssoFallback: { + ssoBypass: { actionLink: "Can't use SSO?", code: { resendButton: "Didn't receive a code? Resend", diff --git a/packages/localizations/src/es-CR.ts b/packages/localizations/src/es-CR.ts index 9dba726d490..8484908c4f7 100644 --- a/packages/localizations/src/es-CR.ts +++ b/packages/localizations/src/es-CR.ts @@ -1697,7 +1697,7 @@ export const esCR: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Es necesario verificar su identidad para restablecer su contraseña.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/es-ES.ts b/packages/localizations/src/es-ES.ts index 79c0cd3682d..4e1fbcf83af 100644 --- a/packages/localizations/src/es-ES.ts +++ b/packages/localizations/src/es-ES.ts @@ -1699,7 +1699,7 @@ export const esES: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Necesitamos verificar tu identidad antes de restablecer tu contraseña.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/es-MX.ts b/packages/localizations/src/es-MX.ts index f479dcec92b..acdc8608229 100644 --- a/packages/localizations/src/es-MX.ts +++ b/packages/localizations/src/es-MX.ts @@ -1698,7 +1698,7 @@ export const esMX: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Es necesario verificar su identidad para restablecer su contraseña.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/es-UY.ts b/packages/localizations/src/es-UY.ts index fc1ccfb673d..f1dd617a874 100644 --- a/packages/localizations/src/es-UY.ts +++ b/packages/localizations/src/es-UY.ts @@ -1695,7 +1695,7 @@ export const esUY: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Necesitamos verificar tu identidad antes de restablecer tu contraseña.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/fa-IR.ts b/packages/localizations/src/fa-IR.ts index d1a86efd480..e6eee4e35fd 100644 --- a/packages/localizations/src/fa-IR.ts +++ b/packages/localizations/src/fa-IR.ts @@ -1700,7 +1700,7 @@ export const faIR: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'قبل از تنظیم مجدد رمز عبور، باید هویت شما را تأیید کنیم.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/fi-FI.ts b/packages/localizations/src/fi-FI.ts index e42c0aae86c..ce4eb4318c2 100644 --- a/packages/localizations/src/fi-FI.ts +++ b/packages/localizations/src/fi-FI.ts @@ -1701,7 +1701,7 @@ export const fiFI: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Ennen salasanan nollaamista on varmistettava henkilöllisyytesi.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/fr-FR.ts b/packages/localizations/src/fr-FR.ts index edc24d821b1..ffd956e99fe 100644 --- a/packages/localizations/src/fr-FR.ts +++ b/packages/localizations/src/fr-FR.ts @@ -1707,7 +1707,7 @@ export const frFR: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Nous devons vérifier votre identité avant de réinitialiser votre mot de passe.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/he-IL.ts b/packages/localizations/src/he-IL.ts index 32e3238bac1..9e07a2da31b 100644 --- a/packages/localizations/src/he-IL.ts +++ b/packages/localizations/src/he-IL.ts @@ -1681,7 +1681,7 @@ export const heIL: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'אנחנו צריכים לאמת את זהותך לפני שנאפס את הסיסמה שלך.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/hi-IN.ts b/packages/localizations/src/hi-IN.ts index 029c978649b..2fb59f3844f 100644 --- a/packages/localizations/src/hi-IN.ts +++ b/packages/localizations/src/hi-IN.ts @@ -1700,7 +1700,7 @@ export const hiIN: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'आपका पासवर्ड रीसेट करने से पहले हमें आपकी पहचान सत्यापित करनी होगी।', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/hr-HR.ts b/packages/localizations/src/hr-HR.ts index b2d915f4ddf..b6f6e9a3e26 100644 --- a/packages/localizations/src/hr-HR.ts +++ b/packages/localizations/src/hr-HR.ts @@ -1701,7 +1701,7 @@ export const hrHR: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Moramo potvrditi vaš identitet prije resetiranja lozinke.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/hu-HU.ts b/packages/localizations/src/hu-HU.ts index 4348cb10ab1..b415be59346 100644 --- a/packages/localizations/src/hu-HU.ts +++ b/packages/localizations/src/hu-HU.ts @@ -1703,7 +1703,7 @@ export const huHU: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Vissza kell igazolnod az identitásod, mielőtt visszaállítod a jelszavad', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/id-ID.ts b/packages/localizations/src/id-ID.ts index e6a7242915a..4be89b12a0e 100644 --- a/packages/localizations/src/id-ID.ts +++ b/packages/localizations/src/id-ID.ts @@ -1694,7 +1694,7 @@ export const idID: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Kami perlu memverifikasi identitas Anda sebelum mereset kata sandi.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/is-IS.ts b/packages/localizations/src/is-IS.ts index 947cadc2355..3e30693070c 100644 --- a/packages/localizations/src/is-IS.ts +++ b/packages/localizations/src/is-IS.ts @@ -1702,7 +1702,7 @@ export const isIS: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Við þurfum að staðfesta auðkenni þitt áður en við endurstillum lykilorðið þitt.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/it-IT.ts b/packages/localizations/src/it-IT.ts index 42db5e09eb7..14dd5acc796 100644 --- a/packages/localizations/src/it-IT.ts +++ b/packages/localizations/src/it-IT.ts @@ -1698,7 +1698,7 @@ export const itIT: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Dobbiamo verificare la tua identità prima di resettare la tua password.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/ja-JP.ts b/packages/localizations/src/ja-JP.ts index b38e0a973aa..3c8df382314 100644 --- a/packages/localizations/src/ja-JP.ts +++ b/packages/localizations/src/ja-JP.ts @@ -1700,7 +1700,7 @@ export const jaJP: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'パスワードをリセットする前に、身元を確認する必要があります。', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/kk-KZ.ts b/packages/localizations/src/kk-KZ.ts index 7c7cf5e3f87..17a21fd53a4 100644 --- a/packages/localizations/src/kk-KZ.ts +++ b/packages/localizations/src/kk-KZ.ts @@ -1682,7 +1682,7 @@ export const kkKZ: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Құпия сөзді өзгерту үшін тұлғаңызды растау қажет.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/ko-KR.ts b/packages/localizations/src/ko-KR.ts index 769e698b417..4ec5a0a5602 100644 --- a/packages/localizations/src/ko-KR.ts +++ b/packages/localizations/src/ko-KR.ts @@ -1685,7 +1685,7 @@ export const koKR: LocalizationResource = { resetPasswordMfa: { detailsLabel: '비밀번호를 재설정하기 전에 신원을 확인해야 해요.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/mn-MN.ts b/packages/localizations/src/mn-MN.ts index 82464828e99..7d7de587f9c 100644 --- a/packages/localizations/src/mn-MN.ts +++ b/packages/localizations/src/mn-MN.ts @@ -1692,7 +1692,7 @@ export const mnMN: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Нууц үгээ шинэчлэхээс өмнө бид таны хувийн мэдээллийг баталгаажуулах шаардлагатай.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/ms-MY.ts b/packages/localizations/src/ms-MY.ts index d13904c2137..2a1a7064426 100644 --- a/packages/localizations/src/ms-MY.ts +++ b/packages/localizations/src/ms-MY.ts @@ -1704,7 +1704,7 @@ export const msMY: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Kami perlu mengesahkan identiti anda sebelum menetapkan semula kata laluan anda.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/nb-NO.ts b/packages/localizations/src/nb-NO.ts index b1e9796364a..cff6143a1ad 100644 --- a/packages/localizations/src/nb-NO.ts +++ b/packages/localizations/src/nb-NO.ts @@ -1703,7 +1703,7 @@ export const nbNO: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Vi må bekrefte identiteten din før vi tilbakestiller passordet ditt.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/nl-BE.ts b/packages/localizations/src/nl-BE.ts index ab77f55a2be..88a0009f600 100644 --- a/packages/localizations/src/nl-BE.ts +++ b/packages/localizations/src/nl-BE.ts @@ -1691,7 +1691,7 @@ export const nlBE: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Voor veiligheidsredenen is het vereist om je wachtwoord te resetten.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/nl-NL.ts b/packages/localizations/src/nl-NL.ts index 45b190124eb..808eac373b3 100644 --- a/packages/localizations/src/nl-NL.ts +++ b/packages/localizations/src/nl-NL.ts @@ -1691,7 +1691,7 @@ export const nlNL: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Voor veiligheidsredenen is het vereist om je wachtwoord te resetten.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/pl-PL.ts b/packages/localizations/src/pl-PL.ts index 61de28f9faa..140bf0446a2 100644 --- a/packages/localizations/src/pl-PL.ts +++ b/packages/localizations/src/pl-PL.ts @@ -1692,7 +1692,7 @@ export const plPL: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Przed zresetowaniem hasła musimy zweryfikować tożsamość użytkownika.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/pt-BR.ts b/packages/localizations/src/pt-BR.ts index 1d96b3278ae..669467bbb32 100644 --- a/packages/localizations/src/pt-BR.ts +++ b/packages/localizations/src/pt-BR.ts @@ -1701,7 +1701,7 @@ export const ptBR: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Precisamos verificar sua identidade antes de redefinir sua senha.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/pt-PT.ts b/packages/localizations/src/pt-PT.ts index cd3440dc725..34ee9781f1c 100644 --- a/packages/localizations/src/pt-PT.ts +++ b/packages/localizations/src/pt-PT.ts @@ -1701,7 +1701,7 @@ export const ptPT: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Precisamos verificar a sua identidade antes de redefinir a palavra-passe.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/ro-RO.ts b/packages/localizations/src/ro-RO.ts index 17f01b1782e..4924f3b8d1b 100644 --- a/packages/localizations/src/ro-RO.ts +++ b/packages/localizations/src/ro-RO.ts @@ -1703,7 +1703,7 @@ export const roRO: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Trebuie să îți verificăm identitatea înainte de a reseta parola.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/ru-RU.ts b/packages/localizations/src/ru-RU.ts index 2797e7e91d2..162d0210cb6 100644 --- a/packages/localizations/src/ru-RU.ts +++ b/packages/localizations/src/ru-RU.ts @@ -1699,7 +1699,7 @@ export const ruRU: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Необходимо верифицировать вашу личность перед восстановлением пароля', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/sk-SK.ts b/packages/localizations/src/sk-SK.ts index 53c9182feed..af8f893babe 100644 --- a/packages/localizations/src/sk-SK.ts +++ b/packages/localizations/src/sk-SK.ts @@ -1692,7 +1692,7 @@ export const skSK: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Pred obnovením hesla je potrebné overiť vašu totožnosť.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/sr-RS.ts b/packages/localizations/src/sr-RS.ts index 6fccddae128..53bca45fb1d 100644 --- a/packages/localizations/src/sr-RS.ts +++ b/packages/localizations/src/sr-RS.ts @@ -1689,7 +1689,7 @@ export const srRS: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Potrebno je da potvrdimo tvoj identitet pre resetovanja lozinke.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/sv-SE.ts b/packages/localizations/src/sv-SE.ts index 50223b67001..ac11ce7a40a 100644 --- a/packages/localizations/src/sv-SE.ts +++ b/packages/localizations/src/sv-SE.ts @@ -1692,7 +1692,7 @@ export const svSE: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Vi behöver verifiera din identitet innan vi återställer ditt lösenord.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/ta-IN.ts b/packages/localizations/src/ta-IN.ts index 1b3f83f090f..f87317e20b6 100644 --- a/packages/localizations/src/ta-IN.ts +++ b/packages/localizations/src/ta-IN.ts @@ -1705,7 +1705,7 @@ export const taIN: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'உங்கள் கடவுச்சொல்லை மீட்டமைப்பதற்கு முன் உங்கள் அடையாளத்தை சரிபார்க்க வேண்டும்.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/te-IN.ts b/packages/localizations/src/te-IN.ts index e087dcc0f8b..4b24efe18bb 100644 --- a/packages/localizations/src/te-IN.ts +++ b/packages/localizations/src/te-IN.ts @@ -1703,7 +1703,7 @@ export const teIN: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'మీ పాస్‌వర్డ్‌ను రీసెట్ చేయడానికి ముందు మీ గుర్తింపును మేము ధృవీకరించాలి.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/th-TH.ts b/packages/localizations/src/th-TH.ts index a979fc15df9..12c1c3db4e3 100644 --- a/packages/localizations/src/th-TH.ts +++ b/packages/localizations/src/th-TH.ts @@ -1690,7 +1690,7 @@ export const thTH: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'เราต้องยืนยันตัวตนของคุณก่อนรีเซ็ตรหัสผ่าน', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/tr-TR.ts b/packages/localizations/src/tr-TR.ts index 0274cd116fe..e689162a95e 100644 --- a/packages/localizations/src/tr-TR.ts +++ b/packages/localizations/src/tr-TR.ts @@ -1691,7 +1691,7 @@ export const trTR: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Şifrenizi sıfırlamadan önce kimliğinizi doğrulamamız gerekiyor.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/uk-UA.ts b/packages/localizations/src/uk-UA.ts index 8efdb2af84b..de359810a0b 100644 --- a/packages/localizations/src/uk-UA.ts +++ b/packages/localizations/src/uk-UA.ts @@ -1688,7 +1688,7 @@ export const ukUA: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Необхідно верифікувати вашу особу перед відновленням пароля', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/vi-VN.ts b/packages/localizations/src/vi-VN.ts index a7e24dadae0..e7ac23705ea 100644 --- a/packages/localizations/src/vi-VN.ts +++ b/packages/localizations/src/vi-VN.ts @@ -1699,7 +1699,7 @@ export const viVN: LocalizationResource = { resetPasswordMfa: { detailsLabel: 'Chúng tôi cần xác minh danh tính của bạn trước khi đặt lại mật khẩu.', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/zh-CN.ts b/packages/localizations/src/zh-CN.ts index 5303d2181b9..190b4e75bf4 100644 --- a/packages/localizations/src/zh-CN.ts +++ b/packages/localizations/src/zh-CN.ts @@ -1677,7 +1677,7 @@ export const zhCN: LocalizationResource = { resetPasswordMfa: { detailsLabel: '我们需要验证您的身份才能重置您的密码。', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/localizations/src/zh-TW.ts b/packages/localizations/src/zh-TW.ts index ae00b4dbfb8..7ebef916c27 100644 --- a/packages/localizations/src/zh-TW.ts +++ b/packages/localizations/src/zh-TW.ts @@ -1680,7 +1680,7 @@ export const zhTW: LocalizationResource = { resetPasswordMfa: { detailsLabel: '我們需要驗證您的身份才能重設您的密碼。', }, - ssoFallback: { + ssoBypass: { actionLink: undefined, code: { resendButton: undefined, diff --git a/packages/react/src/stateProxy.ts b/packages/react/src/stateProxy.ts index 38626f679c9..2cd53f6c9a4 100644 --- a/packages/react/src/stateProxy.ts +++ b/packages/react/src/stateProxy.ts @@ -153,8 +153,8 @@ export class StateProxy implements State { get supportedFirstFactors() { return gateProperty(target, 'supportedFirstFactors', []); }, - get ssoFallbackFirstFactors() { - return gateProperty(target, 'ssoFallbackFirstFactors', []); + get ssoBypassFirstFactors() { + return gateProperty(target, 'ssoBypassFirstFactors', []); }, get supportedSecondFactors() { return gateProperty(target, 'supportedSecondFactors', []); diff --git a/packages/shared/src/types/elementIds.ts b/packages/shared/src/types/elementIds.ts index a401bb0a20b..51bb09fc0bc 100644 --- a/packages/shared/src/types/elementIds.ts +++ b/packages/shared/src/types/elementIds.ts @@ -108,7 +108,7 @@ export type CardActionId = | 'usePasskey' | 'waitlist' | 'signOut' - | 'ssoFallback'; + | 'ssoBypass'; export type MenuId = 'invitation' | 'member' | ProfileSectionId; export type SelectId = 'countryCode' | 'role' | 'paymentMethod' | 'apiKeyExpiration'; diff --git a/packages/shared/src/types/localization.ts b/packages/shared/src/types/localization.ts index d5ed7482917..43c789e0cda 100644 --- a/packages/shared/src/types/localization.ts +++ b/packages/shared/src/types/localization.ts @@ -622,7 +622,7 @@ export type __internal_LocalizationResource = { enterpriseSSO: { formButtonPrimary: LocalizationValue; }; - ssoFallback: { + ssoBypass: { actionLink: LocalizationValue; notice: LocalizationValue; code: { diff --git a/packages/shared/src/types/signIn.ts b/packages/shared/src/types/signIn.ts index 9a26d1e9f76..a3c77c01469 100644 --- a/packages/shared/src/types/signIn.ts +++ b/packages/shared/src/types/signIn.ts @@ -51,7 +51,7 @@ export interface SignInResource extends ClerkResource { supportedIdentifiers: SignInIdentifier[]; supportedFirstFactors: SignInFirstFactor[] | null; supportedSecondFactors: SignInSecondFactor[] | null; - ssoFallbackFirstFactors: SignInFirstFactor[] | null; + ssoBypassFirstFactors: SignInFirstFactor[] | null; clientTrustState?: ClientTrustState; firstFactorVerification: VerificationResource; secondFactorVerification: VerificationResource; @@ -131,7 +131,7 @@ export interface SignInJSON extends ClerkResourceJSON { user_data: UserDataJSON; supported_first_factors: SignInFirstFactorJSON[]; supported_second_factors: SignInSecondFactorJSON[]; - sso_fallback_first_factors?: SignInFirstFactorJSON[]; + sso_bypass_first_factors?: SignInFirstFactorJSON[]; first_factor_verification: VerificationJSON | null; second_factor_verification: VerificationJSON | null; created_session_id: string | null; diff --git a/packages/shared/src/types/signInFuture.ts b/packages/shared/src/types/signInFuture.ts index 0af75ace3ce..fa6bb6089d5 100644 --- a/packages/shared/src/types/signInFuture.ts +++ b/packages/shared/src/types/signInFuture.ts @@ -347,9 +347,9 @@ export interface SignInFutureResource { readonly supportedSecondFactors: SignInSecondFactor[]; /** - * Factors an enterprise SSO user can fall back to when they cannot reach their identity provider. Empty unless the instance has allowlisted this user for a fallback. + * Factors an enterprise SSO user may verify instead of reaching their identity provider. Empty unless the instance has allowlisted this user to bypass SSO. */ - readonly ssoFallbackFirstFactors: SignInFirstFactor[]; + readonly ssoBypassFirstFactors: SignInFirstFactor[]; /** * The current status of the sign-in. diff --git a/packages/ui/src/components/SignIn/SignInFactorOne.tsx b/packages/ui/src/components/SignIn/SignInFactorOne.tsx index 21f260aff47..a2dd6ee994b 100644 --- a/packages/ui/src/components/SignIn/SignInFactorOne.tsx +++ b/packages/ui/src/components/SignIn/SignInFactorOne.tsx @@ -13,7 +13,7 @@ import { localizationKeys } from '../../localization'; import { useRouter } from '../../router'; import type { AlternativeMethodsMode } from './AlternativeMethods'; import { AlternativeMethods } from './AlternativeMethods'; -import { getSSOFallbackFactor, hasMultipleEnterpriseConnections, SIGN_IN_RESET_PASSWORD_INTENT_PARAM } from './shared'; +import { getSSOBypassFactor, hasMultipleEnterpriseConnections, SIGN_IN_RESET_PASSWORD_INTENT_PARAM } from './shared'; import { SignInFactorOneAlternativePhoneCodeCard } from './SignInFactorOneAlternativePhoneCodeCard'; import { SignInFactorOneEmailCodeCard } from './SignInFactorOneEmailCodeCard'; import { SignInFactorOneEmailLinkCard } from './SignInFactorOneEmailLinkCard'; @@ -23,7 +23,7 @@ import { SignInFactorOnePasskey } from './SignInFactorOnePasskey'; import type { PasswordErrorCode } from './SignInFactorOnePasswordCard'; import { SignInFactorOnePasswordCard } from './SignInFactorOnePasswordCard'; import { SignInFactorOnePhoneCodeCard } from './SignInFactorOnePhoneCodeCard'; -import { SignInFactorOneSSOFallback } from './SignInFactorOneSSOFallback'; +import { SignInFactorOneSSOBypass } from './SignInFactorOneSSOBypass'; import { useResetPasswordFactor } from './useResetPasswordFactor'; import { determineStartingSignInFactor, factorHasLocalStrategy } from './utils'; @@ -112,7 +112,7 @@ function SignInFactorOneInternal(): JSX.Element { // Frozen on mount: client-piggybacking may drop the field, which would otherwise unmount the // fallback screens mid-flow. - const ssoFallbackFactor = React.useRef(getSSOFallbackFactor(signIn)).current; + const ssoBypassFactor = React.useRef(getSSOBypassFactor(signIn)).current; const resetPasswordFactor = useResetPasswordFactor(); const resetPasswordIntent = router.queryParams[SIGN_IN_RESET_PASSWORD_INTENT_PARAM] === 'true'; @@ -167,8 +167,8 @@ function SignInFactorOneInternal(): JSX.Element { })); }; - if (ssoFallbackFactor) { - return ; + if (ssoBypassFactor) { + return ; } /** diff --git a/packages/ui/src/components/SignIn/SignInFactorOneSSOFallback.tsx b/packages/ui/src/components/SignIn/SignInFactorOneSSOBypass.tsx similarity index 82% rename from packages/ui/src/components/SignIn/SignInFactorOneSSOFallback.tsx rename to packages/ui/src/components/SignIn/SignInFactorOneSSOBypass.tsx index cd89767d391..cae4da31e05 100644 --- a/packages/ui/src/components/SignIn/SignInFactorOneSSOFallback.tsx +++ b/packages/ui/src/components/SignIn/SignInFactorOneSSOBypass.tsx @@ -14,19 +14,19 @@ import { SignInFactorOneCodeForm } from './SignInFactorOneCodeForm'; type Step = 'sso' | 'code'; -type SignInFactorOneSSOFallbackProps = { - fallbackFactor: EmailCodeFactor; +type SignInFactorOneSSOBypassProps = { + bypassFactor: EmailCodeFactor; }; /** - * Enterprise-routed sign-in for a user the instance has allowlisted for a fallback. + * Enterprise-routed sign-in for a user the instance has allowlisted for a bypass. * * Replaces the automatic redirect to the identity provider with a screen the user can act on, - * since the fallback is only reachable from one. + * since the bypass is only reachable from one. * @experimental */ -export const SignInFactorOneSSOFallback = (props: SignInFactorOneSSOFallbackProps) => { - const { fallbackFactor } = props; +export const SignInFactorOneSSOBypass = (props: SignInFactorOneSSOBypassProps) => { + const { bypassFactor } = props; const card = useCardState(); const ctx = useSignInContext(); const signIn = useCoreSignIn(); @@ -69,16 +69,16 @@ export const SignInFactorOneSSOFallback = (props: SignInFactorOneSSOFallbackProp if (step === 'code') { return ( - + {}} - cardTitle={localizationKeys('signIn.ssoFallback.code.title')} - cardSubtitle={localizationKeys('signIn.ssoFallback.code.subtitle')} - cardNotice={localizationKeys('signIn.ssoFallback.notice')} + cardTitle={localizationKeys('signIn.ssoBypass.code.title')} + cardSubtitle={localizationKeys('signIn.ssoBypass.code.subtitle')} + cardNotice={localizationKeys('signIn.ssoBypass.notice')} inputLabel={localizationKeys('signIn.emailCode.formTitle')} - resendButton={localizationKeys('signIn.ssoFallback.code.resendButton')} + resendButton={localizationKeys('signIn.ssoBypass.code.resendButton')} identityPreviewEditButtonAriaLabel={localizationKeys('identityPreviewEditButton__emailAddress')} onShowAlternativeMethodsClicked={() => goToStep('sso')} /> @@ -86,10 +86,10 @@ export const SignInFactorOneSSOFallback = (props: SignInFactorOneSSOFallbackProp ); } - const fallbackAction = ( - + const bypassAction = ( + goToStep('code')} /> @@ -102,21 +102,21 @@ export const SignInFactorOneSSOFallback = (props: SignInFactorOneSSOFallbackProp })); return ( - + - {fallbackAction} + {bypassAction} ); } return ( - + @@ -136,7 +136,7 @@ export const SignInFactorOneSSOFallback = (props: SignInFactorOneSSOFallbackProp localizationKey={localizationKeys('signIn.enterpriseSSO.formButtonPrimary')} onClick={handleContinueWithSSO} /> - {fallbackAction} + {bypassAction} diff --git a/packages/ui/src/components/SignIn/SignInStart.tsx b/packages/ui/src/components/SignIn/SignInStart.tsx index 812a1691107..5e55b7223c6 100644 --- a/packages/ui/src/components/SignIn/SignInStart.tsx +++ b/packages/ui/src/components/SignIn/SignInStart.tsx @@ -41,7 +41,7 @@ import { useRouter } from '../../router'; import { handleCombinedFlowTransfer } from './handleCombinedFlowTransfer'; import { navigateOnSignInProtectGate } from './handleProtectCheck'; import { - getSSOFallbackFactor, + getSSOBypassFactor, hasMultipleEnterpriseConnections, SIGN_IN_RESET_PASSWORD_INTENT_PARAM, useHandleAuthenticateWithPasskey, @@ -731,13 +731,13 @@ const hasOnlyEnterpriseSSOFirstFactors = (signIn: SignInResource): boolean => { /** * Whether the sign-in can go straight to the identity provider without showing a card first. * - * A connection choice and an SSO fallback are both only reachable from one, so either sends the + * A connection choice and an SSO bypass are both only reachable from one, so either sends the * user to `factor-one` instead. */ const canRedirectToEnterpriseSSO = (signIn: SignInResource): boolean => hasOnlyEnterpriseSSOFirstFactors(signIn) && !hasMultipleEnterpriseConnections(signIn.supportedFirstFactors) && - !getSSOFallbackFactor(signIn); + !getSSOBypassFactor(signIn); const InstantPasswordRow = ({ field, diff --git a/packages/ui/src/components/SignIn/__tests__/SignInFactorOneSSOFallback.test.tsx b/packages/ui/src/components/SignIn/__tests__/SignInFactorOneSSOBypass.test.tsx similarity index 83% rename from packages/ui/src/components/SignIn/__tests__/SignInFactorOneSSOFallback.test.tsx rename to packages/ui/src/components/SignIn/__tests__/SignInFactorOneSSOBypass.test.tsx index 8e4ed50a65b..ce14de6e081 100644 --- a/packages/ui/src/components/SignIn/__tests__/SignInFactorOneSSOFallback.test.tsx +++ b/packages/ui/src/components/SignIn/__tests__/SignInFactorOneSSOBypass.test.tsx @@ -8,11 +8,11 @@ import { SignInFactorOne } from '../SignInFactorOne'; const { createFixtures } = bindCreateFixtures('SignIn'); -describe('SignInFactorOne SSO fallback', () => { - it('offers the fallback next to the SSO action for a single connection', async () => { +describe('SignInFactorOne SSO bypass', () => { + it('offers the bypass next to the SSO action for a single connection', async () => { const { wrapper } = await createFixtures(f => { f.withEmailAddress(); - f.startSignInWithEnterpriseSSO({ supportSSOFallback: true }); + f.startSignInWithEnterpriseSSO({ supportSSOBypass: true }); }); render(, { wrapper }); @@ -21,7 +21,7 @@ describe('SignInFactorOne SSO fallback', () => { screen.getByText("Can't use SSO?"); }); - it('does not render the fallback when the user is not allowlisted for one', async () => { + it('does not render the bypass when the user is not allowlisted for one', async () => { const { wrapper } = await createFixtures(f => { f.withEmailAddress(); f.startSignInWithEnterpriseSSO(); @@ -32,11 +32,11 @@ describe('SignInFactorOne SSO fallback', () => { expect(screen.queryByText("Can't use SSO?")).not.toBeInTheDocument(); }); - it('offers a single fallback action alongside multiple connections', async () => { + it('offers a single bypass action alongside multiple connections', async () => { const { wrapper } = await createFixtures(f => { f.withEmailAddress(); f.startSignInWithEnterpriseSSO({ - supportSSOFallback: true, + supportSSOBypass: true, enterpriseConnections: [ { id: 'conn_okta', name: 'Okta' }, { id: 'conn_msft', name: 'Microsoft' }, @@ -54,7 +54,7 @@ describe('SignInFactorOne SSO fallback', () => { it('redirects to the identity provider when the SSO action is used', async () => { const { wrapper, fixtures } = await createFixtures(f => { f.withEmailAddress(); - f.startSignInWithEnterpriseSSO({ supportSSOFallback: true }); + f.startSignInWithEnterpriseSSO({ supportSSOBypass: true }); }); const { userEvent } = render(, { wrapper }); @@ -69,7 +69,7 @@ describe('SignInFactorOne SSO fallback', () => { it('prepares the email code with the handle and warns on the code screen', async () => { const { wrapper, fixtures } = await createFixtures(f => { f.withEmailAddress(); - f.startSignInWithEnterpriseSSO({ supportSSOFallback: true }); + f.startSignInWithEnterpriseSSO({ supportSSOBypass: true }); }); fixtures.signIn.prepareFirstFactor.mockReturnValueOnce(Promise.resolve({} as SignInResource)); @@ -87,7 +87,7 @@ describe('SignInFactorOne SSO fallback', () => { it('returns to the SSO screen from the code screen', async () => { const { wrapper, fixtures } = await createFixtures(f => { f.withEmailAddress(); - f.startSignInWithEnterpriseSSO({ supportSSOFallback: true }); + f.startSignInWithEnterpriseSSO({ supportSSOBypass: true }); }); fixtures.signIn.prepareFirstFactor.mockReturnValueOnce(Promise.resolve({} as SignInResource)); diff --git a/packages/ui/src/components/SignIn/__tests__/SignInStart.test.tsx b/packages/ui/src/components/SignIn/__tests__/SignInStart.test.tsx index a68ae94f56e..7c26db967fb 100644 --- a/packages/ui/src/components/SignIn/__tests__/SignInStart.test.tsx +++ b/packages/ui/src/components/SignIn/__tests__/SignInStart.test.tsx @@ -477,7 +477,7 @@ describe('SignInStart', () => { }); }); - it('stops short of the redirect when the instance offers an SSO fallback', async () => { + it('stops short of the redirect when the instance offers an SSO bypass', async () => { const { wrapper, fixtures } = await createFixtures(f => { f.withEmailAddress(); }); @@ -485,7 +485,7 @@ describe('SignInStart', () => { Promise.resolve({ status: 'needs_first_factor', supportedFirstFactors: [{ strategy: 'enterprise_sso' }], - ssoFallbackFirstFactors: [ + ssoBypassFirstFactors: [ { strategy: 'email_code', safeIdentifier: 'hello@clerk.com', emailAddressId: 'idn_hmac' }, ], } as unknown as SignInResource), @@ -1030,14 +1030,14 @@ describe('SignInStart', () => { ); }); - it('stops short of the redirect when the instance offers an SSO fallback', async () => { + it('stops short of the redirect when the instance offers an SSO bypass', async () => { const { wrapper, fixtures } = await createFixtures(f => { f.withEmailAddress(); }); fixtures.signIn.create.mockResolvedValueOnce({ status: 'needs_first_factor', supportedFirstFactors: [{ strategy: 'enterprise_sso' }], - ssoFallbackFirstFactors: [ + ssoBypassFirstFactors: [ { strategy: 'email_code', safeIdentifier: 'hello@clerk.com', emailAddressId: 'idn_hmac' }, ], } as unknown as SignInResource); diff --git a/packages/ui/src/components/SignIn/shared.ts b/packages/ui/src/components/SignIn/shared.ts index db659863712..e261990ef2a 100644 --- a/packages/ui/src/components/SignIn/shared.ts +++ b/packages/ui/src/components/SignIn/shared.ts @@ -115,12 +115,12 @@ function hasMultipleEnterpriseConnections( * Returns the email code factor a sign-in may fall back to, or `null`. * @experimental */ -function getSSOFallbackFactor(signIn: SignInResource): EmailCodeFactor | null { +function getSSOBypassFactor(signIn: SignInResource): EmailCodeFactor | null { if (!signIn.supportedFirstFactors?.some(factor => factor.strategy === 'enterprise_sso')) { return null; } - return (signIn.ssoFallbackFirstFactors?.find(factor => factor.strategy === 'email_code') as EmailCodeFactor) ?? null; + return (signIn.ssoBypassFirstFactors?.find(factor => factor.strategy === 'email_code') as EmailCodeFactor) ?? null; } -export { getSSOFallbackFactor, hasMultipleEnterpriseConnections, useHandleAuthenticateWithPasskey }; +export { getSSOBypassFactor, hasMultipleEnterpriseConnections, useHandleAuthenticateWithPasskey }; diff --git a/packages/ui/src/elements/contexts/index.tsx b/packages/ui/src/elements/contexts/index.tsx index 0c4c8ac8c6f..3bf0bb70382 100644 --- a/packages/ui/src/elements/contexts/index.tsx +++ b/packages/ui/src/elements/contexts/index.tsx @@ -134,7 +134,7 @@ export type FlowMetadata = { | 'chooseOrganization' | 'chooseWallet' | 'enterpriseConnections' - | 'ssoFallback' + | 'ssoBypass' | 'organizationCreationDisabled' | 'methodSelectionMFA' | 'provideEmail' diff --git a/packages/ui/src/test/fixture-helpers.ts b/packages/ui/src/test/fixture-helpers.ts index 2c9f086e1c3..ac37af262c7 100644 --- a/packages/ui/src/test/fixture-helpers.ts +++ b/packages/ui/src/test/fixture-helpers.ts @@ -119,7 +119,7 @@ const createSignInFixtureHelpers = (baseClient: ClientJSON) => { type SignInWithEnterpriseSSOParams = { identifier?: string; enterpriseConnections?: Array<{ id: string; name: string }>; - supportSSOFallback?: boolean; + supportSSOBypass?: boolean; }; type SignInFactorTwoParams = { @@ -165,7 +165,7 @@ const createSignInFixtureHelpers = (baseClient: ClientJSON) => { }; const startSignInWithEnterpriseSSO = (params?: SignInWithEnterpriseSSOParams) => { - const { identifier = 'hello@clerk.com', enterpriseConnections, supportSSOFallback } = params || {}; + const { identifier = 'hello@clerk.com', enterpriseConnections, supportSSOBypass } = params || {}; baseClient.sign_in = { status: 'needs_first_factor', identifier, @@ -177,8 +177,8 @@ const createSignInFixtureHelpers = (baseClient: ClientJSON) => { enterprise_connection_name: name, })) : [{ strategy: 'enterprise_sso' }], - ...(supportSSOFallback && { - sso_fallback_first_factors: [ + ...(supportSSOBypass && { + sso_bypass_first_factors: [ { strategy: 'email_code', safe_identifier: identifier, email_address_id: 'idn_hmac' }, ], }),