From 31e801cc3985cfa6c93e51e0127deee1d445d748 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Sat, 29 Jun 2019 10:02:23 -0400 Subject: - [LDAP: Check if email attribute is an array, that has many email addresses](https://github.com/wekan/wekan/pull/2519). Thanks to tdemaret and xet7 ! --- models/users.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'models') diff --git a/models/users.js b/models/users.js index 79b83fe6..08f833b9 100644 --- a/models/users.js +++ b/models/users.js @@ -530,6 +530,9 @@ Meteor.methods({ Meteor.user().setShowCardsCountAt(limit); }, setEmail(email, userId) { + if (Array.isArray(email)) { + email = email.shift(); + } check(email, String); const existingUser = Users.findOne( { 'emails.address': email }, @@ -552,6 +555,9 @@ Meteor.methods({ }, setUsernameAndEmail(username, email, userId) { check(username, String); + if (Array.isArray(email)) { + email = email.shift(); + } check(email, String); check(userId, String); Meteor.call('setUsername', username, userId); @@ -648,7 +654,11 @@ if (Meteor.isServer) { } if (user.services.oidc) { - const email = user.services.oidc.email.toLowerCase(); + let email = user.services.oidc.email; + if (Array.isArray(email)) { + email = email.shift(); + } + email = email.toLowerCase(); user.username = user.services.oidc.username; user.emails = [{ address: email, verified: true }]; const initials = user.services.oidc.fullname -- cgit v1.2.3-1-g7c22