From 27194ef68c1719de02ba79cb988a44f0c63de742 Mon Sep 17 00:00:00 2001 From: nicolas Date: Mon, 7 Jun 2021 20:21:38 +0200 Subject: [PATCH] Fixed bug where null email address could occurr in office365 credential key --- pages/api/integrations/office365calendar/callback.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pages/api/integrations/office365calendar/callback.ts b/pages/api/integrations/office365calendar/callback.ts index 9bb43d0e..137157b0 100644 --- a/pages/api/integrations/office365calendar/callback.ts +++ b/pages/api/integrations/office365calendar/callback.ts @@ -28,7 +28,8 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) const whoami = await fetch('https://graph.microsoft.com/v1.0/me', { headers: { 'Authorization': 'Bearer ' + responseBody.access_token } }); const graphUser = await whoami.json(); - responseBody.email = graphUser.mail; + // In some cases, graphUser.mail is null. Then graphUser.userPrincipalName most likely contains the email address. + responseBody.email = graphUser.mail ?? graphUser.userPrincipalName; responseBody.expiry_date = Math.round((+(new Date()) / 1000) + responseBody.expires_in); // set expiry date in seconds delete responseBody.expires_in;