UNPKG

lib-jsl

Version:

JSL is a JSON based logic programming library meant for embedded use

50 lines (44 loc) 1.47 kB
/* The example authentication module */ function authModule () { var users = { 'mohan' : { pwd : 'xyzw', ctr : 0 }, 'shyam' : { pwd : 'abcd', ctr : 0 }, 'venkat' : { pwd : 'pwra', ctr : 0 }, 'joe' : { pwd : 'iuwe', ctr : 0 }, 'harry' : { pwd : 'njnd', ctr : 0 }, 'azam' : { pwd : 'lkls', ctr : 0 }, }; this.login = function (params) { var response = { status: 200, logged_in: false }; var userRecord = users[params.username]; if (userRecord != null) { if (userRecord.ctr >= 3) { userRecord.ctr++; response.msg = 'Account blocked'; } else if (userRecord.pwd === params.password) { response.logged_in = true; userRecord.ctr = 0; // reset the ctr } else { userRecord.ctr++; response.msg = 'Incorrect password'; } } else { response.msg = 'Incorrect username'; } return response; } this.logout = function (params) { var userRecord = users[params.username]; var response = { status: 200}; if (userRecord != null) { response.logged_in = false; response.msg = 'Successfully logged out'; } else { response.msg = 'Incorrect logout attempt'; } return response; } } module.exports = new authModule();