]>
Commit | Line | Data |
---|---|---|
f0d942ac | 1 | diff --git a/auth.js b/auth.js |
4b0a82cc | 2 | index ce77ee4..235d8e6 100644 |
f0d942ac IB |
3 | --- a/auth.js |
4 | +++ b/auth.js | |
5 | @@ -91,6 +91,7 @@ var cuid = require('cuid'); | |
6 | var common = require('./model/common.js'); | |
7 | var user = require('./model/user.js'); | |
8 | var conf = require('./configuration.js'); | |
9 | +var utils = require('./utils.js'); | |
10 | ||
11 | var NOT_INTERNAL_AUTH_PWD = 'soooooo_useless'; | |
12 | ||
4b0a82cc | 13 | @@ -232,21 +233,21 @@ module.exports = (function () { |
f0d942ac IB |
14 | // We have to create the user in mypads database |
15 | ldapConf = conf.get('authLdapSettings'); | |
16 | user.set({ | |
17 | - login: ldapuser[props.login], | |
18 | + login: utils.getSingleton(ldapuser[props.login]), | |
19 | password: NOT_INTERNAL_AUTH_PWD, | |
20 | - firstname: ldapuser[props.firstname], | |
21 | - lastname: ldapuser[props.lastname], | |
22 | + firstname: utils.getSingleton(ldapuser[props.firstname]), | |
23 | + lastname: utils.getSingleton(ldapuser[props.lastname]), | |
24 | email: mail, | |
25 | lang: ldapConf.defaultLang || 'en' | |
26 | }, callback); | |
27 | } else if (u.email !== mail || | |
28 | - u.firstname !== ldapuser[props.firstname] || | |
29 | - u.lastname !== ldapuser[props.lastname]) { | |
30 | + u.firstname !== utils.getSingleton(ldapuser[props.firstname]) || | |
31 | + u.lastname !== utils.getSingleton(ldapuser[props.lastname])) { | |
32 | // Update database and cache informations if needed | |
33 | // (i.e. update from LDAP) | |
f0d942ac IB |
34 | u.email = mail; |
35 | - u.firstname = ldapuser[props.firstname]; | |
36 | - u.lastname = ldapuser[props.lastname]; | |
37 | + u.firstname = utils.getSingleton(ldapuser[props.firstname]); | |
38 | + u.lastname = utils.getSingleton(ldapuser[props.lastname]); | |
39 | u.password = NOT_INTERNAL_AUTH_PWD; | |
40 | user.set(u, callback); | |
41 | } else { | |
f0d942ac IB |
42 | diff --git a/utils.js b/utils.js |
43 | index 32c2727..d381d06 100644 | |
44 | --- a/utils.js | |
45 | +++ b/utils.js | |
46 | @@ -14,3 +14,13 @@ exports.callbackify2 = function (fun) { | |
47 | return wrapPromise(fun(arg1, arg2), cb); | |
48 | }; | |
49 | }; | |
50 | + | |
51 | +exports.getSingleton = function (stringOrArray) { | |
52 | + if (Array.isArray(stringOrArray)) { | |
53 | + if (stringOrArray.length > 0) { | |
54 | + return stringOrArray[0]; | |
55 | + } | |
56 | + } else if (stringOrArray) { | |
57 | + return stringOrArray; | |
58 | + } | |
59 | +} |