xrootd: add krb5 auth
Created by: EgorMatirov
@sbinet, could you please give this a try?
I have managed to install and configure Kerberos and that PR works locally with my config. However, yours may differ and it would be cool to test that before polishing it. :)
For the tests, edit the xrootd/client/auth.go:26
and following lines. That enables Kerberos auth with the provided parameters to all usages of the client, so you can test it against xrd-cp
for example. :)
I think that we'll receive in the Client
configured and logged-in client to the Kerberos, so it will allow a user to fully customize the creation of the client.
Another possibility is to introduce xrootd/auth/krb5
and depend on gokrb5
only from that package, requiring only basic interface from the Client
side. Something like:
type KerberosAuth interface {
Authenticate(serviceName string) ([]byte, error)
}
This way it will be optional to install the xrootd/auth/krb5
and gokrb5
package since the Client
will not depend on them.
What do you think?