fix(auth, workspace-invitation): enforce required subdomains (#9464)

Updated the handling of `targetWorkspaceSubdomain` and `subdomain` to
enforce them as required fields. This prevents potential issues caused
by missing values during sign-in/up and workspace invitation processes.
This commit is contained in:
Antoine Moreaux
2025-01-08 18:51:49 +01:00
committed by GitHub
parent bc30c6973c
commit d61409a5df
3 changed files with 18 additions and 15 deletions

View File

@ -498,6 +498,7 @@ describe('SignInUpService', () => {
email,
password,
fromSSO: false,
targetWorkspaceSubdomain: 'testSubDomain',
workspaceInviteHash,
});

View File

@ -122,19 +122,21 @@ export class SignInUpService {
}
}
const signInUpWithInvitationResult = await this.signInUpWithInvitation({
email,
workspacePersonalInviteToken,
workspaceInviteHash,
targetWorkspaceSubdomain,
fromSSO,
firstName,
lastName,
picture,
authProvider,
passwordHash,
existingUser,
});
const signInUpWithInvitationResult = targetWorkspaceSubdomain
? await this.signInUpWithInvitation({
email,
workspacePersonalInviteToken,
workspaceInviteHash,
targetWorkspaceSubdomain,
fromSSO,
firstName,
lastName,
picture,
authProvider,
passwordHash,
existingUser,
})
: undefined;
if (isDefined(signInUpWithInvitationResult)) {
return signInUpWithInvitationResult;
@ -187,7 +189,7 @@ export class SignInUpService {
passwordHash?: string;
existingUser: User | null;
fromSSO: boolean;
targetWorkspaceSubdomain?: string;
targetWorkspaceSubdomain: string;
}) {
const maybeInvitation =
fromSSO && !workspacePersonalInviteToken && !workspaceInviteHash

View File

@ -139,7 +139,7 @@ export class WorkspaceInvitationService {
subdomain,
email,
}: {
subdomain?: string;
subdomain: string;
email: string;
}) {
const workspace =