diff --git a/lib/api/api_auth.go b/lib/api/api_auth.go index 9d4607918..9f68f38d7 100644 --- a/lib/api/api_auth.go +++ b/lib/api/api_auth.go @@ -11,6 +11,7 @@ import ( "crypto/tls" "encoding/base64" "fmt" + "net" "net/http" "strings" "time" @@ -130,10 +131,16 @@ func authStatic(username string, password string, configUser string, configPassw func authLDAP(username string, password string, cfg config.LDAPConfiguration) bool { address := cfg.Address + hostname, _, err := net.SplitHostPort(address) + if err != nil { + hostname = address + } var connection *ldap.Conn - var err error if cfg.Transport == config.LDAPTransportTLS { - connection, err = ldap.DialTLS("tcp", address, &tls.Config{InsecureSkipVerify: cfg.InsecureSkipVerify}) + connection, err = ldap.DialTLS("tcp", address, &tls.Config{ + ServerName: hostname, + InsecureSkipVerify: cfg.InsecureSkipVerify, + }) } else { connection, err = ldap.Dial("tcp", address) }