# Authenticate with rucio

Every API call needs to provide a valid X-Rucio-Auth-Token. This authentication handshake is therefore omitted from the other sequence diagrams.

The client needs to provide the appropriate credentials for the authentication to succeed:

- `userpass`

HTTP Header: “Rucio-Username=<username>”

HTTP Header: “Rucio-Password=<password>”

- `x509`

The client needs to present a valid x509 client certificate.

- `gss`

The client needs to present a valid Kerberos5/GSSAPI authentication token.

- `proxy`

The client needs to present a valid Globus proxy certificate.

# Validate a X-Rucio-Auth-Token