X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/b270ada90553ff437c1cbb2ad3c816e038e25371..12e80e54e288773d77ef15b522a954bf597a5be7:/doc/api/authentication.textile diff --git a/doc/api/authentication.textile b/doc/api/authentication.textile new file mode 100644 index 0000000000..fea46bb9cd --- /dev/null +++ b/doc/api/authentication.textile @@ -0,0 +1,39 @@ +--- +layout: default +navsection: api +title: Authentication +navorder: 2 +--- + +h1. Authentication + +Every API request (except the authentication API itself) includes an @access_token@ parameter. + +table(table table-bordered table-condensed). +|Name|Type|Description| +|access_token|string|Access token returned by OAuth 2.0 authorization procedure| + +Many resources contain "actor" attributes like @modified_by@. An @access_token@ uniquely identifies a client (application or project) and an end-user. + +table(table table-bordered table-condensed). +|Name|Type|Description| +|modified_by_client|string|ID of API client| +|modified_by_user|string|ID of authenticated user| + +h2. Authorizing a client application + +The Arvados API uses the "OAuth 2.0 protocol":http://tools.ietf.org/html/draft-ietf-oauth-v2-22 for authentication and authorization. + +h3. Register your client application + +Before an application can run on an Arvados cloud, it needs to be registered with the cloud. + +That registration yields a @client_id@ and a @client_secret@. + +h3. Obtain an access code + +A client obtains an access code by means of a standard Oauth 2.0 flow. The access code is granted to it by an authorized user. The client requests one or more scopes, which translate to a set of requested permissions (reading, writing, etc). Unless the access is to be short-lived, a refresh token is also granted to the application. + +h3. Refresh the access code (optional) + +Access codes have a limited lifetime. A refresh token allows an application to request a new access token. \ No newline at end of file