]>
Commit | Line | Data |
---|---|---|
f0d942ac IB |
1 | diff --git a/auth.js b/auth.js |
2 | index ce77ee4..de66b03 100644 | |
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 | ||
13 | @@ -212,6 +213,7 @@ module.exports = (function () { | |
14 | } | |
15 | return callback(new Error(emsg), false); | |
16 | } | |
17 | + console.log("before user.get"); | |
18 | user.get(login, function(err, u) { | |
19 | var props = ldapConf.properties; | |
20 | var mail; | |
21 | @@ -229,27 +231,30 @@ module.exports = (function () { | |
22 | return callback(new Error(emsg), false); | |
23 | } | |
24 | if (err) { | |
25 | + console.log("in user.get err"); | |
26 | // We have to create the user in mypads database | |
27 | ldapConf = conf.get('authLdapSettings'); | |
28 | user.set({ | |
29 | - login: ldapuser[props.login], | |
30 | + login: utils.getSingleton(ldapuser[props.login]), | |
31 | password: NOT_INTERNAL_AUTH_PWD, | |
32 | - firstname: ldapuser[props.firstname], | |
33 | - lastname: ldapuser[props.lastname], | |
34 | + firstname: utils.getSingleton(ldapuser[props.firstname]), | |
35 | + lastname: utils.getSingleton(ldapuser[props.lastname]), | |
36 | email: mail, | |
37 | lang: ldapConf.defaultLang || 'en' | |
38 | }, callback); | |
39 | } else if (u.email !== mail || | |
40 | - u.firstname !== ldapuser[props.firstname] || | |
41 | - u.lastname !== ldapuser[props.lastname]) { | |
42 | + u.firstname !== utils.getSingleton(ldapuser[props.firstname]) || | |
43 | + u.lastname !== utils.getSingleton(ldapuser[props.lastname])) { | |
44 | // Update database and cache informations if needed | |
45 | // (i.e. update from LDAP) | |
46 | + console.log("in user.get update"); | |
47 | u.email = mail; | |
48 | - u.firstname = ldapuser[props.firstname]; | |
49 | - u.lastname = ldapuser[props.lastname]; | |
50 | + u.firstname = utils.getSingleton(ldapuser[props.firstname]); | |
51 | + u.lastname = utils.getSingleton(ldapuser[props.lastname]); | |
52 | u.password = NOT_INTERNAL_AUTH_PWD; | |
53 | user.set(u, callback); | |
54 | } else { | |
55 | + console.log("in user.get callback"); | |
56 | return callback(null, u); | |
57 | } | |
58 | }); | |
59 | diff --git a/model/common.js b/model/common.js | |
60 | index b19829b..9421742 100644 | |
61 | --- a/model/common.js | |
62 | +++ b/model/common.js | |
63 | @@ -94,6 +94,7 @@ module.exports = (function() { | |
64 | var isFS = function (s) { return (ld.isString(s) && !ld.isEmpty(s)); }; | |
65 | ld.forEach(strFields, function (s) { | |
66 | if (!isFS(params[s])) { | |
67 | + console.log(params, s); | |
68 | throw new TypeError('BACKEND.ERROR.TYPE.PARAM_STR'); | |
69 | } | |
70 | if (s.length > 100) { | |
71 | diff --git a/utils.js b/utils.js | |
72 | index 32c2727..d381d06 100644 | |
73 | --- a/utils.js | |
74 | +++ b/utils.js | |
75 | @@ -14,3 +14,13 @@ exports.callbackify2 = function (fun) { | |
76 | return wrapPromise(fun(arg1, arg2), cb); | |
77 | }; | |
78 | }; | |
79 | + | |
80 | +exports.getSingleton = function (stringOrArray) { | |
81 | + if (Array.isArray(stringOrArray)) { | |
82 | + if (stringOrArray.length > 0) { | |
83 | + return stringOrArray[0]; | |
84 | + } | |
85 | + } else if (stringOrArray) { | |
86 | + return stringOrArray; | |
87 | + } | |
88 | +} |