diff --git a/gssapi_kerberos.go b/gssapi_kerberos.go index ab8b70196..daa8b403f 100644 --- a/gssapi_kerberos.go +++ b/gssapi_kerberos.go @@ -36,6 +36,7 @@ type GSSAPIConfig struct { Username string Password string Realm string + Host string DisablePAFXFAST bool } @@ -211,7 +212,10 @@ func (krbAuth *GSSAPIKerberosAuth) Authorize(broker *Broker) error { // Construct SPN using serviceName and host // SPN format: / - host := strings.SplitN(broker.addr, ":", 2)[0] // Strip port part + host := krbAuth.Config.Host + if host == "" { + host := strings.SplitN(broker.addr, ":", 2)[0] // Strip port part + } spn := fmt.Sprintf("%s/%s", broker.conf.Net.SASL.GSSAPI.ServiceName, host) ticket, encKey, err := kerberosClient.GetServiceTicket(spn)