JSFiddle - React, Tailwind, and code Playground

JavaScript

exports.onExecutePostLogin = async (event, api) => {
	const ManagementClient = require('auth0').ManagementClient;

	const DOMAIN = event.secrets.domain;
	const CLIENT_ID = event.secrets.clientId;
	const CLIENT_SECRET = event.secrets.clientSecret;

	const management = new ManagementClient({
		domain: DOMAIN,
		clientId: CLIENT_ID,
		clientSecret: CLIENT_SECRET
	});

	let currentAccount = event.user;
	if (currentAccount.identities.length == 1 && currentAccount.identities[0].provider == 'google-oauth2') {
		let accountsWithSameEmail = await management.getUsersByEmail(currentAccount.email);
		let targetAccount = accountsWithSameEmail.find(u => u.user_id != currentAccount.user_id);
		if (targetAccount) {
			targetAccount.identities = await management.linkUsers(targetAccount.user_id, {
				provider: currentAccount.identities[0].provider,
				user_id: currentAccount.user_id,
			});
			event.user = targetAccount;
		}
	}
}