From bd5f4f9bebf5df83c52b03bd8fb8ec95eae220c6 Mon Sep 17 00:00:00 2001 From: Armin Date: Mon, 18 Sep 2017 20:37:45 +0200 Subject: [PATCH 1/3] case insesitive email check --- packages/meteor-accounts-saml/saml_server.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/meteor-accounts-saml/saml_server.js b/packages/meteor-accounts-saml/saml_server.js index 67e32b7b30c0..712581ac3512 100644 --- a/packages/meteor-accounts-saml/saml_server.js +++ b/packages/meteor-accounts-saml/saml_server.js @@ -102,8 +102,9 @@ Accounts.registerLoginHandler(function(loginRequest) { } if (loginResult && loginResult.profile && loginResult.profile.email) { + const emailRegex = new RegExp(`^${ loginResult.profile.email }$`, 'i'); let user = Meteor.users.findOne({ - 'emails.address': loginResult.profile.email + 'emails.address': emailRegex }); if (!user) { From e61780520de1e59cc0b3d6cedd3d4465b1f3addb Mon Sep 17 00:00:00 2001 From: Armin Date: Wed, 20 Sep 2017 21:08:07 +0200 Subject: [PATCH 2/3] escape regex --- packages/meteor-accounts-saml/saml_server.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/meteor-accounts-saml/saml_server.js b/packages/meteor-accounts-saml/saml_server.js index 712581ac3512..252cc0909676 100644 --- a/packages/meteor-accounts-saml/saml_server.js +++ b/packages/meteor-accounts-saml/saml_server.js @@ -102,7 +102,8 @@ Accounts.registerLoginHandler(function(loginRequest) { } if (loginResult && loginResult.profile && loginResult.profile.email) { - const emailRegex = new RegExp(`^${ loginResult.profile.email }$`, 'i'); + const email = RegExp.escape(loginResult.profile.email) + const emailRegex = new RegExp(`^${ email }$`, 'i'); let user = Meteor.users.findOne({ 'emails.address': emailRegex }); From 428d4c1853246583fcd60eb274a9872ee4b9812a Mon Sep 17 00:00:00 2001 From: Armin Date: Wed, 20 Sep 2017 21:20:48 +0200 Subject: [PATCH 3/3] fixes missing ; --- packages/meteor-accounts-saml/saml_server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/meteor-accounts-saml/saml_server.js b/packages/meteor-accounts-saml/saml_server.js index 252cc0909676..0d7dc928d532 100644 --- a/packages/meteor-accounts-saml/saml_server.js +++ b/packages/meteor-accounts-saml/saml_server.js @@ -102,7 +102,7 @@ Accounts.registerLoginHandler(function(loginRequest) { } if (loginResult && loginResult.profile && loginResult.profile.email) { - const email = RegExp.escape(loginResult.profile.email) + const email = RegExp.escape(loginResult.profile.email); const emailRegex = new RegExp(`^${ email }$`, 'i'); let user = Meteor.users.findOne({ 'emails.address': emailRegex