--- /dev/null
+diff --git a/auth.js b/auth.js
+index ce77ee4..de66b03 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';
+
+@@ -212,6 +213,7 @@ module.exports = (function () {
+ }
+ return callback(new Error(emsg), false);
+ }
++ console.log("before user.get");
+ user.get(login, function(err, u) {
+ var props = ldapConf.properties;
+ var mail;
+@@ -229,27 +231,30 @@ module.exports = (function () {
+ return callback(new Error(emsg), false);
+ }
+ if (err) {
++ console.log("in user.get err");
+ // 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)
++ console.log("in user.get update");
+ 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 {
++ console.log("in user.get callback");
+ return callback(null, u);
+ }
+ });
+diff --git a/model/common.js b/model/common.js
+index b19829b..9421742 100644
+--- a/model/common.js
++++ b/model/common.js
+@@ -94,6 +94,7 @@ module.exports = (function() {
+ var isFS = function (s) { return (ld.isString(s) && !ld.isEmpty(s)); };
+ ld.forEach(strFields, function (s) {
+ if (!isFS(params[s])) {
++ console.log(params, s);
+ throw new TypeError('BACKEND.ERROR.TYPE.PARAM_STR');
+ }
+ if (s.length > 100) {
+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;
++ }
++}