* feat: introduce tls parameters in config to allow startTLS
* feat: pass tls config for startTLS to ldap server
* build: update libs to use newer ldap
* feat: allow tls config for startTLS
* Plugin: Unix PAM Authentication (#263)
* Add plugin using pam authentication
Adds an additional plugin which us authenticating against
the PAM unix backend and exposing users and groups local
to the machine glauth is running on.
This can be used to expose local users for authentication
in other services which support ldap only.
* plugins: pam: Rewrite Bind() to use ldapopshelper
Modernizes the implementation of Bind() to make use of the helper
functions provided by LDAPOpsHelper.
In order to support custom authentication the existing config.User
has received an additional PassAppCustom property which allows to
specify a custom authentication callback for a user.
In case of the PAM backend this will be used to authenticate against
the local PAM database.
* plugins: pam: Rewrite Search() to use ldapopshelper
Modernizes the implementation of Search() to make use of the helper
functions provided by LDAPOpsHelper.
* plugins: pam: Capability through group membership
Adds a configuration option which decides if a user gets the search
capability or not based on the group memberships of a user.
* plugins: pam: Apply formatting
Runs gofmt and go get on all changes done earlier
* plugins: pam: Address feedback from CodeClimate
- reduce code similarity
- document new exports
- address casing of variables and functions
- reduce complexity of FindPosixGroups()
- reduce complexity of FindPosixAccounts()
- fix else branch in ldapopshelper
Co-authored-by: Marius Zwicker <marius.zwicker@mlba-team.de>
* Updated README for pam plugin
* Updated README for pam plugin
Co-authored-by: Marius Zwicker <marius@mlba-team.de>
Co-authored-by: Marius Zwicker <marius.zwicker@mlba-team.de>