diff --git a/packages/server/src/oauth/userinfo.ts b/packages/server/src/oauth/userinfo.ts index d7c951a8fe..9a009bfb8f 100644 --- a/packages/server/src/oauth/userinfo.ts +++ b/packages/server/src/oauth/userinfo.ts @@ -70,10 +70,15 @@ function buildProfile(userInfo: Record, profile: ProfileResource): } function buildEmail(userInfo: Record, profile: ProfileResource, user: User): void { - const contactPoint = profile.telecom?.find((cp) => cp.system === 'email'); - if (contactPoint) { - userInfo.email = contactPoint.value; - userInfo.email_verified = !!(userInfo.email === user.email && user.emailVerified); + if (user.email) { + userInfo.email = user.email; + userInfo.email_verified = Boolean(user.emailVerified); + } else { + const contactPoint = profile.telecom?.find((cp) => cp.system === 'email'); + if (contactPoint) { + userInfo.email = contactPoint.value; + userInfo.email_verified = false; + } } }