This is a simple but extensible shell script to authenticate users by binding to LDAP. Additional checks, such as requiring group memberships, can easily be configured. The credentials are read from environment variables. In case of a successful authentication, it exits with exit code 0, non-zero otherwise.
ldap-auth-sh is known to work with:
- OpenVPN (via the
--auth-user-pass-verifyoption) - Home Assistant (via the upcoming
command_lineauth provider)
However, it's of course not limited to these platforms.
You need:
- a POSIX-compliant shell with
cat,grepandsed(even BusyBox will do) - a compatible LDAP client, currently one of
curl(withldapprotocol support compiled in, verify withcurl --version)ldapsearch
Just copy the file ldap-auth.sh and read the comments therein.
Sample configurations are shipped in the examples directory.