diff --git a/cypress/integration/shared/sign_in.shared.ts b/cypress/integration/shared/sign_in.shared.ts index 2c85e47d3..70b1f21aa 100644 --- a/cypress/integration/shared/sign_in.shared.ts +++ b/cypress/integration/shared/sign_in.shared.ts @@ -368,9 +368,9 @@ export const showsAnErrorMessageAndInformationParagraphWhenAccountLinkingRequire : '/signin?error=accountLinkingRequired'; cy.visit(visitUrl); cy.contains( - 'We cannot sign you in with your social account credentials. Please enter your account password below to sign in.', + 'We could not sign you in with your social account credentials. Please sign in with your email below.', ); - cy.contains('Account already exists'); + cy.contains('Social sign-in unsuccessful'); }, ] as const; }; diff --git a/src/client/pages/SignIn.stories.tsx b/src/client/pages/SignIn.stories.tsx index 41c5a6cd1..13cf81391 100644 --- a/src/client/pages/SignIn.stories.tsx +++ b/src/client/pages/SignIn.stories.tsx @@ -47,7 +47,7 @@ WithPageLevelErrorAndEmail.story = { export const SocialSigninBlocked = (args: SignInProps) => ( ); @@ -72,7 +72,7 @@ WithFormLevelErrorAndEmail.story = { export const WithFormLevelErrorAndSocialSigninBlocked = (args: SignInProps) => ( @@ -107,7 +107,7 @@ WithJobs.story = { export const WithJobsAndSocialSigninBlocked = (args: SignInProps) => ( ); diff --git a/src/client/pages/SignIn.tsx b/src/client/pages/SignIn.tsx index 18b9e2837..b9450c4fa 100644 --- a/src/client/pages/SignIn.tsx +++ b/src/client/pages/SignIn.tsx @@ -56,12 +56,30 @@ const Links = ({ children }: { children: React.ReactNode }) => ( ); -const getErrorContext = (error: string | undefined) => { - if (error === SignInErrors.ACCOUNT_ALREADY_EXISTS) { +const getErrorContext = ( + error: string | undefined, + queryParams: QueryParams, +) => { + if (error === SignInErrors.SOCIAL_SIGNIN_ERROR) { return ( <> - We cannot sign you in with your social account credentials. Please enter - your account password below to sign in. +
+ We could not sign you in with your social account credentials. Please + sign in with your email below. If you do not know your password, you + can{' '} + + reset it here + + . +
+
+
+ If you are still having trouble, please contact our customer service + team at{' '} + {SUPPORT_EMAIL}. +
); } else if (error === RegistrationErrors.PROVISIONING_FAILURE) { @@ -113,7 +131,7 @@ export const SignIn = ({ const formTrackingName = 'sign-in'; // The page level error is equivalent to this enum if social signin has been blocked. - const socialSigninBlocked = pageError === SignInErrors.ACCOUNT_ALREADY_EXISTS; + const socialSigninBlocked = pageError === SignInErrors.SOCIAL_SIGNIN_ERROR; const { clientId } = queryParams; const isJobs = clientId === 'jobs'; @@ -129,7 +147,7 @@ export const SignIn = ({ return ( { // show error if account linking required if (error === FederationErrors.SOCIAL_SIGNIN_BLOCKED) { - return SignInErrors.ACCOUNT_ALREADY_EXISTS; + return SignInErrors.SOCIAL_SIGNIN_ERROR; } // Show error if provisioning failed if (error === RegistrationErrors.PROVISIONING_FAILURE) { diff --git a/src/shared/model/Errors.ts b/src/shared/model/Errors.ts index 16836256d..b0ee08eba 100644 --- a/src/shared/model/Errors.ts +++ b/src/shared/model/Errors.ts @@ -28,7 +28,7 @@ export enum ResetPasswordErrors { export enum SignInErrors { GENERIC = 'There was a problem signing in, please try again.', AUTHENTICATION_FAILED = "Email and password don't match", - ACCOUNT_ALREADY_EXISTS = 'Account already exists', + SOCIAL_SIGNIN_ERROR = 'Social sign-in unsuccessful', } export enum RegistrationErrors { diff --git a/src/shared/model/OpenIdErrors.ts b/src/shared/model/OpenIdErrors.ts index ba3cbe29d..af2f9a5b7 100644 --- a/src/shared/model/OpenIdErrors.ts +++ b/src/shared/model/OpenIdErrors.ts @@ -17,4 +17,5 @@ export enum OpenIdErrors { export enum OpenIdErrorDescriptions { ACCOUNT_LINKING_DENIED_GROUPS = 'User linking was denied because the user is not in any of the specified groups.', + USER_STATUS_INVALID = 'User status is invalid.', }