diff --git a/packages/backend/server/src/plugins/oauth/controller.ts b/packages/backend/server/src/plugins/oauth/controller.ts index eb7e909e43..5503787713 100644 --- a/packages/backend/server/src/plugins/oauth/controller.ts +++ b/packages/backend/server/src/plugins/oauth/controller.ts @@ -221,6 +221,15 @@ export class OAuthController { if (connectedAccount) { // already connected await this.updateConnectedAccount(connectedAccount, tokens); + + if ( + !connectedAccount.user.emailVerifiedAt && + // external email may change, check if it matches exists email + externalAccount.email.toLowerCase() === + connectedAccount.user.email.toLowerCase() + ) { + await this.auth.setEmailVerified(connectedAccount.userId); + } return connectedAccount.user; }