diff --git a/backend/src/ee/services/oidc/oidc-config-service.ts b/backend/src/ee/services/oidc/oidc-config-service.ts index 5cbfbbc97..a5088bde5 100644 --- a/backend/src/ee/services/oidc/oidc-config-service.ts +++ b/backend/src/ee/services/oidc/oidc-config-service.ts @@ -698,9 +698,9 @@ export const oidcConfigServiceFactory = ({ // eslint-disable-next-line @typescript-eslint/no-explicit-any (_req: any, tokenSet: TokenSet, cb: any) => { const claims = tokenSet.claims(); - if (!claims.email || !claims.given_name) { + if (!claims.email) { throw new BadRequestError({ - message: "Invalid request. Missing email or first name" + message: "Invalid request. Missing email claim." }); } @@ -713,12 +713,19 @@ export const oidcConfigServiceFactory = ({ } } + const name = claims?.given_name || claims?.name; + if (!name) { + throw new BadRequestError({ + message: "Invalid request. Missing name claim." + }); + } + const groups = typeof claims.groups === "string" ? [claims.groups] : (claims.groups as string[] | undefined); oidcLogin({ email: claims.email.toLowerCase(), externalId: claims.sub, - firstName: claims.given_name ?? "", + firstName: name, lastName: claims.family_name ?? "", orgId: org.id, groups,