ldap user
This commit is contained in:
@@ -3,6 +3,9 @@
|
||||
const linuxUser = require('linux-sys-user').promise();
|
||||
const objValidate = require('../utils/object_validate');
|
||||
const {Token, InviteToken} = require('./token');
|
||||
const {promisify} = require('util');
|
||||
const pam = require('authenticate-pam');
|
||||
const authenticate = promisify(pam.authenticate);
|
||||
|
||||
var User = {}
|
||||
|
||||
@@ -11,6 +14,8 @@ User.keyMap = {
|
||||
'password': {isRequired: true, type: 'string', min: 3, max: 500},
|
||||
}
|
||||
|
||||
User.backing = "PAM";
|
||||
|
||||
User.list = async function(){
|
||||
try{
|
||||
let users = await linuxUser.getUsers();
|
||||
@@ -139,4 +144,18 @@ User.invite = async function(){
|
||||
}
|
||||
};
|
||||
|
||||
User.login = async function(data){
|
||||
try{
|
||||
let auth = await authenticate(data.username, data.password);
|
||||
let user = await User.get(data);
|
||||
|
||||
return user;
|
||||
}catch(error){
|
||||
if (error == 'Authentication failure'){
|
||||
throw this.errors.login()
|
||||
}
|
||||
throw error;
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {User};
|
||||
|
||||
Reference in New Issue
Block a user