|
|
|
@ -2,19 +2,29 @@ const fastify = require('fastify')({ logger: true }) |
|
|
|
const fs = require('fs'); |
|
|
|
const path = require('path') |
|
|
|
var LdapAuth = require('ldapauth-fork'); |
|
|
|
let prompt = require('password-prompt') |
|
|
|
|
|
|
|
var prankPath = "prankdata.txt"; |
|
|
|
if (!fs.existsSync(prankPath)) { |
|
|
|
fs.writeFileSync(prankPath, "{}"); |
|
|
|
} |
|
|
|
|
|
|
|
let PrankData = JSON.parse(fs.readFileSync("prankdata.txt")); |
|
|
|
let PrankData = JSON.parse(fs.readFileSync(prankPath)); |
|
|
|
let AdminUsersUid = ["asyncnomi", "johan", "enthalpine", "fas", "arina", "billy", "remi", "pierre", "", "", "", ""]; |
|
|
|
let UsersToken = {}; |
|
|
|
let TokenDurationSecond = 3600; |
|
|
|
|
|
|
|
var LDAP; |
|
|
|
var ldapConf = JSON.parse(fs.readFileSync("ldap-conf.json")); |
|
|
|
var LDAP = new LdapAuth({ |
|
|
|
url: 'ldap://10.5.0.44', |
|
|
|
bindDN: 'cn='+ ldapConf.bindUser +',ou=service-users,dc=ldap,dc=rezo-rm,dc=fr', |
|
|
|
bindCredentials: ldapConf.bindPassword, |
|
|
|
searchBase: 'dc=ldap,dc=rezo-rm,dc=fr', |
|
|
|
searchFilter: '(uid={{username}})', |
|
|
|
reconnect: true, |
|
|
|
}); |
|
|
|
LDAP.on('error', function (err) { |
|
|
|
console.error('LdapAuth: ', err); |
|
|
|
}); |
|
|
|
|
|
|
|
fastify.addContentTypeParser('application/json', { |
|
|
|
parseAs: 'string' |
|
|
|
@ -342,17 +352,6 @@ function makeid(length) { |
|
|
|
|
|
|
|
const start = async () => { |
|
|
|
try { |
|
|
|
LDAP = new LdapAuth({ |
|
|
|
url: 'ldap://10.5.0.44', |
|
|
|
bindDN: 'cn='+ await prompt("LDAP Bind User: ") +',ou=service-users,dc=ldap,dc=rezo-rm,dc=fr', |
|
|
|
bindCredentials: await prompt("LDAP Bind Password: "), |
|
|
|
searchBase: 'dc=ldap,dc=rezo-rm,dc=fr', |
|
|
|
searchFilter: '(uid={{username}})', |
|
|
|
reconnect: true, |
|
|
|
}); |
|
|
|
LDAP.on('error', function (err) { |
|
|
|
console.error('LdapAuth: ', err); |
|
|
|
}); |
|
|
|
await fastify.listen({ port: 3000 , host: '127.0.0.1',}) |
|
|
|
} catch (err) { |
|
|
|
fastify.log.error(err) |
|
|
|
|