Remove dependencies on warehouse and IPC::System::Simple (refs #2221).
[arvados.git] / doc / user / reference / api-tokens.html.textile.liquid
1 ---
2 layout: default
3 navsection: userguide
4 navmenu: Reference
5 title: "Getting an API token"
6
7 ...
8
9 h1. Reference: Getting an API token
10
11 The Arvados API token is a secret key that enables the @arv@ command line client to access Arvados with the proper permissions.
12
13 Access the Arvados workbench using this link: "https://workbench.{{ site.arvados_api_host }}/":https://workbench.{{ site.arvados_api_host }}/
14
15 (Replace @{{ site.arvados_api_host }}@ with the hostname of your local Arvados instance if necessary.)
16
17 First, open a shell on the system on which you intend to use the Arvados client (this may be your local workstation, or an Arvados VM, refer to "Accessing Arvados over ssh":{{site.basedoc}}/user/getting_started/ssh-access.html ) .
18
19 Click on the user icon <span class="glyphicon glyphicon-user"></span> in the upper right corner to access the user settings menu, and click on the menu item _Manage API token_ to go to the "api client authorizations" page.  
20
21 h2. The easy way
22
23 For your convenience, the "api client authorizations" page on Workbench provides a "Help" tab that provides a command you may copy and paste directly into the shell.  It will look something like this:
24
25 bc. ### Pasting the following lines at a shell prompt will allow Arvados SDKs
26 ### to authenticate to your account, youraddress@example.com
27 read ARVADOS_API_TOKEN <<EOF
28 2jv9346o396exampledonotuseexampledonotuseexes7j1ld
29 EOF
30 export ARVADOS_API_TOKEN ARVADOS_API_HOST={{ site.arvados_api_host }}
31
32 * The @read@ command takes the contents of stdin and puts it into the shell variable named on the command line.
33 * The @<<EOF@ notation means read each line on stdin and pipe it to the command, terminating on reading the line @EOF@.
34 * The @export@ command puts a local shell variable into the environment that will be inherited by child processes (e.g. the @arv@ client).
35
36 h2. Setting the environment manually
37
38 Alternately, look for the column *api_token* contains the actual token string that you will use.  Copy the value of *api_token* for the first row onto the clipboard.
39
40 <notextile>
41 <pre><code>$ <span class="userinput">export ARVADOS_API_HOST={{ site.arvados_api_host }}</span>
42 $ <span class="userinput">export ARVADOS_API_TOKEN=2jv9346o3966345u7ueuim7a1zaaoueo3w90tzq3gx0es7j1ld</span>
43 </code></pre>
44 </notextile>
45
46 * @ARVADOS_API_HOST@ tells @arv@ which host to connect to
47 * @ARVADOS_API_TOKEN@ is the secret key used by the Arvados API server to authenticate access.
48
49 If you are connecting to a development instance with a unverified/self-signed SSL certificate, set this variable to skip SSL validation:
50
51 <notextile>
52 <pre><code>$ <span class="userinput">export ARVADOS_API_HOST_INSECURE=1
53 </code></pre>
54 </notextile>
55
56 h2. settings.conf
57
58 Arvados tools will also look for the authentication information in @~/.config/arvados/settings.conf@. If you have already put the variables into the environment with instructions above, you can use these commands to create an Arvados configuration file:
59
60 <notextile>
61 <pre><code>$ <span class="userinput">echo "ARVADOS_API_HOST=$ARVADOS_API_HOST" > ~/.config/arvados/settings.conf</span>
62 $ <span class="userinput">echo "ARVADOS_API_TOKEN=$ARVADOS_API_TOKEN" >> ~/.config/arvados/settings.conf</span>
63 </code></pre>
64 </notextile>
65
66 h2. .bashrc
67
68 Alternately, you may add the declarations of @ARVADOS_API_HOST@ and @ARVADOS_API_TOKEN@ to the @~/.bashrc@ file on the system on which you intend to use the Arvados client.  If you have already put the variables into the environment with instructions above, you can use these commands to append the environment variables to your @~/.bashrc@:
69
70 <notextile>
71 <pre><code>$ <span class="userinput">echo "export ARVADOS_API_HOST=$ARVADOS_API_HOST" >> ~/.bashrc</span>
72 $ <span class="userinput">echo "export ARVADOS_API_TOKEN=$ARVADOS_API_TOKEN" >> ~/.bashrc</span>
73 </code></pre>
74 </notextile>