archon-electron/assets/coffee/login.coffee

31 lines
1.0 KiB
CoffeeScript
Raw Permalink Normal View History

ldap = require('ldapjs')
loginForm = (event) ->
event.preventDefault()
bindHost = document.forms.loginForm.ldap_host.value
bindDn = document.forms.loginForm.bind_dn.value
bindPw = document.forms.loginForm.bind_pw.value
client = ldap.createClient(url: 'ldap://' + bindHost + '/')
client.bind bindDn, bindPw, (err) ->
if err
document.querySelector('h1').textContent = 'error'
else
document.querySelector('h1').textContent = 'Logged in!'
bindDn = document.forms.loginForm.bind_dn.value
baseDnBits = bindDn.split(',')
baseDnBits.shift()
baseDn = baseDnBits.join(',')
localStorage.setItem('ldap_hostname', document.forms.loginForm.ldap_host.value)
localStorage.setItem('ldap_bind_dn', bindDn)
localStorage.setItem('ldap_bind_pw', document.forms.loginForm.bind_pw.value)
localStorage.setItem('ldap_base_dn', baseDn)
loadPage('index')
return
return
window.onload = ->
document.getElementById('loginForm').addEventListener('submit', loginForm)
return