mirror of
https://github.com/h44z/wg-portal
synced 2025-02-26 05:49:14 +00:00
* Give the way to connect against LDAP server with certificate and key * fix(ldap) Update cert variable name In order to be more explicit Co-authored-by: Alexis Aurin <alexis@so6.pw>
36 lines
1.5 KiB
Go
36 lines
1.5 KiB
Go
package ldap
|
|
|
|
import (
|
|
gldap "github.com/go-ldap/ldap/v3"
|
|
)
|
|
|
|
type Type string
|
|
|
|
const (
|
|
TypeActiveDirectory Type = "AD"
|
|
TypeOpenLDAP Type = "OpenLDAP"
|
|
)
|
|
|
|
type Config struct {
|
|
URL string `yaml:"url" envconfig:"LDAP_URL"`
|
|
StartTLS bool `yaml:"startTLS" envconfig:"LDAP_STARTTLS"`
|
|
CertValidation bool `yaml:"certcheck" envconfig:"LDAP_CERT_VALIDATION"`
|
|
BaseDN string `yaml:"dn" envconfig:"LDAP_BASEDN"`
|
|
BindUser string `yaml:"user" envconfig:"LDAP_USER"`
|
|
BindPass string `yaml:"pass" envconfig:"LDAP_PASSWORD"`
|
|
|
|
EmailAttribute string `yaml:"attrEmail" envconfig:"LDAP_ATTR_EMAIL"`
|
|
FirstNameAttribute string `yaml:"attrFirstname" envconfig:"LDAP_ATTR_FIRSTNAME"`
|
|
LastNameAttribute string `yaml:"attrLastname" envconfig:"LDAP_ATTR_LASTNAME"`
|
|
PhoneAttribute string `yaml:"attrPhone" envconfig:"LDAP_ATTR_PHONE"`
|
|
GroupMemberAttribute string `yaml:"attrGroups" envconfig:"LDAP_ATTR_GROUPS"`
|
|
|
|
LoginFilter string `yaml:"loginFilter" envconfig:"LDAP_LOGIN_FILTER"` // {{login_identifier}} gets replaced with the login email address
|
|
SyncFilter string `yaml:"syncFilter" envconfig:"LDAP_SYNC_FILTER"`
|
|
AdminLdapGroup string `yaml:"adminGroup" envconfig:"LDAP_ADMIN_GROUP"` // Members of this group receive admin rights in WG-Portal
|
|
AdminLdapGroup_ *gldap.DN `yaml:"-"`
|
|
LdapCertConn bool `yaml:"ldapCertConn" envconfig:"LDAP_CERT_CONN"`
|
|
LdapTlsCert string `yaml:"ldapTlsCert" envconfig:"LDAPTLS_CERT"`
|
|
LdapTlsKey string `yaml:"ldapTlsKey" envconfig:"LDAPTLS_KEY"`
|
|
}
|