+++ /dev/null
-diff --git a/auth.js b/auth.js
-index ce77ee4..235d8e6 100644
---- a/auth.js
-+++ b/auth.js
-@@ -91,6 +91,7 @@ var cuid = require('cuid');
- var common = require('./model/common.js');
- var user = require('./model/user.js');
- var conf = require('./configuration.js');
-+var utils = require('./utils.js');
-
- var NOT_INTERNAL_AUTH_PWD = 'soooooo_useless';
-
-@@ -232,21 +233,21 @@ module.exports = (function () {
- // We have to create the user in mypads database
- ldapConf = conf.get('authLdapSettings');
- user.set({
-- login: ldapuser[props.login],
-+ login: utils.getSingleton(ldapuser[props.login]),
- password: NOT_INTERNAL_AUTH_PWD,
-- firstname: ldapuser[props.firstname],
-- lastname: ldapuser[props.lastname],
-+ firstname: utils.getSingleton(ldapuser[props.firstname]),
-+ lastname: utils.getSingleton(ldapuser[props.lastname]),
- email: mail,
- lang: ldapConf.defaultLang || 'en'
- }, callback);
- } else if (u.email !== mail ||
-- u.firstname !== ldapuser[props.firstname] ||
-- u.lastname !== ldapuser[props.lastname]) {
-+ u.firstname !== utils.getSingleton(ldapuser[props.firstname]) ||
-+ u.lastname !== utils.getSingleton(ldapuser[props.lastname])) {
- // Update database and cache informations if needed
- // (i.e. update from LDAP)
- u.email = mail;
-- u.firstname = ldapuser[props.firstname];
-- u.lastname = ldapuser[props.lastname];
-+ u.firstname = utils.getSingleton(ldapuser[props.firstname]);
-+ u.lastname = utils.getSingleton(ldapuser[props.lastname]);
- u.password = NOT_INTERNAL_AUTH_PWD;
- user.set(u, callback);
- } else {
-diff --git a/utils.js b/utils.js
-index 32c2727..d381d06 100644
---- a/utils.js
-+++ b/utils.js
-@@ -14,3 +14,13 @@ exports.callbackify2 = function (fun) {
- return wrapPromise(fun(arg1, arg2), cb);
- };
- };
-+
-+exports.getSingleton = function (stringOrArray) {
-+ if (Array.isArray(stringOrArray)) {
-+ if (stringOrArray.length > 0) {
-+ return stringOrArray[0];
-+ }
-+ } else if (stringOrArray) {
-+ return stringOrArray;
-+ }
-+}