fix: profile.name is not mandatory anymore in OIDC provder
This commit is contained in:
@@ -94,11 +94,6 @@ if (
|
|||||||
`An email field was not returned in the profile parameter, but is required.`
|
`An email field was not returned in the profile parameter, but is required.`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
if (!profile.name) {
|
|
||||||
throw AuthenticationError(
|
|
||||||
`A name field was not returned in the profile parameter, but is required.`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
const team = await getTeamFromContext(ctx);
|
const team = await getTeamFromContext(ctx);
|
||||||
const client = getClientFromContext(ctx);
|
const client = getClientFromContext(ctx);
|
||||||
|
|
||||||
@@ -115,6 +110,13 @@ if (
|
|||||||
// Claim name can be overriden using an env variable.
|
// Claim name can be overriden using an env variable.
|
||||||
// Default is 'preferred_username' as per OIDC spec.
|
// Default is 'preferred_username' as per OIDC spec.
|
||||||
const username = get(profile, env.OIDC_USERNAME_CLAIM);
|
const username = get(profile, env.OIDC_USERNAME_CLAIM);
|
||||||
|
const name = profile.name || username || profile.username;
|
||||||
|
|
||||||
|
if (!name) {
|
||||||
|
throw AuthenticationError(
|
||||||
|
`Neither a name or username was returned in the profile parameter, but at least one is required.`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
const result = await accountProvisioner({
|
const result = await accountProvisioner({
|
||||||
ip: ctx.ip,
|
ip: ctx.ip,
|
||||||
@@ -126,7 +128,7 @@ if (
|
|||||||
subdomain,
|
subdomain,
|
||||||
},
|
},
|
||||||
user: {
|
user: {
|
||||||
name: profile.name || username || profile.username,
|
name,
|
||||||
email: profile.email,
|
email: profile.email,
|
||||||
avatarUrl: profile.picture,
|
avatarUrl: profile.picture,
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user