Initial support for LDAP server authentication

Limitations as of this commit:

- tlsOptions can only be specified in config.json, not as env vars
- authentication failures are not yet gracefully handled by the UI
  - instead the error message is shown on a blank page (/auth/ldap)
- no email address is associated with the LDAP user's account
- no picture/profile URL is associated with the LDAP user's account
- we might have to generate our own access + refresh tokens,
  because we aren't using oauth. The currently generated
  tokens are just a placeholder.
- 'LDAP Sign in' needs to be translated to each locale
This commit is contained in:
alecdwm 2016-12-13 22:31:35 +01:00
parent 8095f8cc98
commit 02e9927714
11 changed files with 135 additions and 7 deletions

6
app.js
View file

@ -380,6 +380,12 @@ if (config.google) {
failureRedirect: config.serverurl + '/'
}));
}
// ldap auth
if (config.ldap) {
app.post('/auth/ldap', urlencodedParser,
passport.authenticate('ldapauth', { successRedirect: '/' })
);
}
// email auth
if (config.email) {
app.post('/register', urlencodedParser, function (req, res, next) {