# Authentication Rest API

Overview

Resource | Operation | Description
--- | --- | ---
GSS | GET /auth/gss | Authenticate with GSS token
SSH | GET /auth/ssh | Authenticate with SSH key exchange.
SSHChallengeToken | GET /auth/ssh_challenge_token | Request SSH Challenge Token
UserPass | GET /auth/userpass | Authenticate with username/password
Validate | GET /auth/validate | Validate a Rucio Auth Token.
x509 | GET /auth/x509 | Authenticate with x509 certificate.
| GET /auth/x509_proxy |

Details

`GET` `/auth/ssh_challenge_token`

  Request a challenge token for SSH authentication

  Request Headers:
  | Rucio-Account – Account identifier as a string. Rucio-AppID – Application identifier as a string.
  Response Headers:
  | Access-Control-Allow-Origin – Access-Control-Allow-Headers – Access-Control-Allow-Methods – Access-Control-Allow-Credentials – Access-Control-Expose-Headers – X-Rucio-Auth-Token – The authentication token
  Status Codes: | 200 OK – Successfully authenticated 404 Not Found – Invalid credentials

`GET` `/auth/x509`

`GET` `/auth/x509_proxy`

  Authenticate a Rucio account temporarily via an x509 certificate.

  Request Headers:
  | Rucio-Account – Account identifier as a string. Rucio-AppID – Application identifier as a string. SSLStdEnv – Apache mod_ssl SSL Standard Env Variables.
  Response Headers:
  | Access-Control-Allow-Origin – Access-Control-Allow-Headers – Access-Control-Allow-Methods – Access-Control-Allow-Credentials – Access-Control-Expose-Headers – X-Rucio-Auth-Token – The authentication token
  Status Codes: | 200 OK – Successfully authenticated 404 Not Found – Invalid credentials

`GET` `/auth/userpass`

  Authenticate a Rucio account temporarily via username and password.

  Request Headers:
  | X-Rucio-Account – Account identifier as a string. X-Rucio-Username – Username as a string. X-Rucio-Password – SHA1 hash of the password as a string. X-Rucio-AppID – Application identifier as a string.
  Response Headers:
  | Access-Control-Allow-Origin – Access-Control-Allow-Headers – Access-Control-Allow-Methods – Access-Control-Allow-Credentials – Access-Control-Expose-Headers – X-Rucio-Auth-Token – The authentication token
  Status Codes: | 200 OK – Successfully authenticated 404 Not Found – Invalid credentials

`GET` `/auth/validate`

  Validate a Rucio Auth Token.

  Request Headers:
  | Rucio-Auth-Token – as a variable-length string.
  Returns: | Tuple(account name, token lifetime).

`GET` `/auth/gss`

  Authenticate a Rucio account temporarily via a GSS token.

  Request Headers:
  | Rucio-Account – Account identifier as a string. Rucio-AppID – Application identifier as a string. SavedCredentials – Apache mod_auth_kerb SavedCredentials.
  Response Headers:
  | Access-Control-Allow-Origin – Access-Control-Allow-Headers – Access-Control-Allow-Methods – Access-Control-Allow-Credentials – Access-Control-Expose-Headers – X-Rucio-Auth-Token – The authentication token
  Status Codes: | 200 OK – Successfully authenticated 404 Not Found – Invalid credentials

`GET` `/auth/ssh`

  Authenticate a Rucio account temporarily via SSH key exchange.

  Request Headers:
  | Rucio-Account – Account identifier as a string. Rucio-SSH-Signature – Response to server challenge signed with SSH private key as a base64 encoded string. Rucio-AppID – Application identifier as a string.
  Response Headers:
  | Access-Control-Allow-Origin – Access-Control-Allow-Headers – Access-Control-Allow-Methods – Access-Control-Allow-Credentials – Access-Control-Expose-Headers – X-Rucio-Auth-Token – The authentication token
  Status Codes: | 200 OK – Successfully authenticated 404 Not Found – Invalid credentials