Statistics
| Branch: | Tag: | Revision:

root / docs / identity-api-guide.rst @ a1d0bacb

History | View | Annotate | Download (18.3 kB)

1 5d2e61ec Sofia Papagiannaki
Astakos API
2 8f9976c6 Constantinos Venetsanopoulos
===========
3 8f9976c6 Constantinos Venetsanopoulos
4 8f9976c6 Constantinos Venetsanopoulos
This is Astakos API guide.
5 8f9976c6 Constantinos Venetsanopoulos
6 8f9976c6 Constantinos Venetsanopoulos
Overview
7 8f9976c6 Constantinos Venetsanopoulos
--------
8 8f9976c6 Constantinos Venetsanopoulos
9 8f9976c6 Constantinos Venetsanopoulos
10 53d6886e Sofia Papagiannaki
Astakos service co-ordinates the access to resources (and the subsequent
11 53d6886e Sofia Papagiannaki
permission model) and acts as the single point of registry and entry to the
12 53d6886e Sofia Papagiannaki
GRNET cloud services.
13 8f9976c6 Constantinos Venetsanopoulos
14 8f9976c6 Constantinos Venetsanopoulos
This document's goals is to describe the APIs to the outer world.
15 8f9976c6 Constantinos Venetsanopoulos
Make sure you have read the :ref:`astakos` general architecture first.
16 8f9976c6 Constantinos Venetsanopoulos
17 8f9976c6 Constantinos Venetsanopoulos
Document Revisions
18 8f9976c6 Constantinos Venetsanopoulos
^^^^^^^^^^^^^^^^^^
19 8f9976c6 Constantinos Venetsanopoulos
20 8f9976c6 Constantinos Venetsanopoulos
=========================  ================================
21 8f9976c6 Constantinos Venetsanopoulos
Revision                   Description
22 8f9976c6 Constantinos Venetsanopoulos
=========================  ================================
23 5547485e Sofia Papagiannaki
0.15 (December 02, 2013)   Extent token api with validate token call
24 b4b82ec4 Giorgos Korfiatis
0.15 (October 29, 2013)    Remove GET /authenticate in favor of POST /tokens
25 a24b5bda Sofia Papagiannaki
0.14 (June 03, 2013)       Remove endpoint listing
26 49005665 Sofia Papagiannaki
0.14 (May 28, 2013)        Extend token api with authenticate call
27 98893c32 Sofia Papagiannaki
0.14 (May 23, 2013)        Extend api to list endpoints
28 6609821f Sofia Papagiannaki
0.14 (May 14, 2013)        Do not serve user quotas in :ref:`authenticate-api-label`
29 79b5d61b Sofia Papagiannaki
0.14 (May 02, 2013)        Change URIs (keep also the old ones until the next version)
30 890c2065 Sofia Papagiannaki
0.13 (January 21, 2013)    Extend api to export user presentation & quota information.
31 6609821f Sofia Papagiannaki
0.6 (June 06, 2012)        Split service and user API.
32 8f9976c6 Constantinos Venetsanopoulos
0.1 (Feb 10, 2012)         Initial release.
33 8f9976c6 Constantinos Venetsanopoulos
=========================  ================================
34 8f9976c6 Constantinos Venetsanopoulos
35 890c2065 Sofia Papagiannaki
Get Services
36 890c2065 Sofia Papagiannaki
^^^^^^^^^^^^
37 949f8393 Sofia Papagiannaki
38 890c2065 Sofia Papagiannaki
Returns a json formatted list containing information about the supported cloud services.
39 949f8393 Sofia Papagiannaki
40 79b5d61b Sofia Papagiannaki
============================= =========  ==================
41 79b5d61b Sofia Papagiannaki
Uri                           Method     Description
42 79b5d61b Sofia Papagiannaki
============================= =========  ==================
43 6b3ec12c Sofia Papagiannaki
``/ui/get_services``          GET        Get cloud services
44 79b5d61b Sofia Papagiannaki
============================= =========  ==================
45 8f9976c6 Constantinos Venetsanopoulos
46 890c2065 Sofia Papagiannaki
Example reply:
47 8f9976c6 Constantinos Venetsanopoulos
48 890c2065 Sofia Papagiannaki
::
49 8f9976c6 Constantinos Venetsanopoulos
50 890c2065 Sofia Papagiannaki
    [{"url": "/", "icon": "home-icon.png", "name": "grnet cloud", "id": "1"},
51 890c2065 Sofia Papagiannaki
    {"url": "/okeanos.html", "name": "~okeanos", "id": "2"},
52 e5d8df8c Constantinos Venetsanopoulos
    {"url": "/ui/", "name": "pithos", "id": "3"}]
53 890c2065 Sofia Papagiannaki
54 890c2065 Sofia Papagiannaki
55 890c2065 Sofia Papagiannaki
Get Menu
56 890c2065 Sofia Papagiannaki
^^^^^^^^
57 890c2065 Sofia Papagiannaki
58 890c2065 Sofia Papagiannaki
Returns a json formatted list containing the cloud bar links.
59 8f9976c6 Constantinos Venetsanopoulos
60 79b5d61b Sofia Papagiannaki
========================= =========  ==================
61 79b5d61b Sofia Papagiannaki
Uri                       Method     Description
62 79b5d61b Sofia Papagiannaki
========================= =========  ==================
63 6b3ec12c Sofia Papagiannaki
``/ui/get_menu``          GET        Get cloud bar menu
64 79b5d61b Sofia Papagiannaki
========================= =========  ==================
65 8f9976c6 Constantinos Venetsanopoulos
66 890c2065 Sofia Papagiannaki
Example reply if request user is not authenticated:
67 8f9976c6 Constantinos Venetsanopoulos
68 890c2065 Sofia Papagiannaki
::
69 8f9976c6 Constantinos Venetsanopoulos
70 6b3ec12c Sofia Papagiannaki
    [{"url": "/ui/", "name": "Sign in"}]
71 8f9976c6 Constantinos Venetsanopoulos
72 890c2065 Sofia Papagiannaki
Example reply if request user is authenticated:
73 8f9976c6 Constantinos Venetsanopoulos
74 8f9976c6 Constantinos Venetsanopoulos
::
75 8f9976c6 Constantinos Venetsanopoulos
76 6b3ec12c Sofia Papagiannaki
    [{"url": "/ui/", "name": "user@example.com"},
77 6b3ec12c Sofia Papagiannaki
    {"url": "/ui/landing", "name": "Dashboard"},
78 6b3ec12c Sofia Papagiannaki
    {"url": "/ui/logout", "name": "Sign out"}]
79 8f9976c6 Constantinos Venetsanopoulos
80 79b5d61b Sofia Papagiannaki
81 6609821f Sofia Papagiannaki
User API Operations
82 890c2065 Sofia Papagiannaki
--------------------
83 8f9976c6 Constantinos Venetsanopoulos
84 b4b82ec4 Giorgos Korfiatis
The operations described in this chapter allow users to send feedback and
85 b4b82ec4 Giorgos Korfiatis
get user uuid/displayname mappings.
86 8f9976c6 Constantinos Venetsanopoulos
87 5d2e61ec Sofia Papagiannaki
All the operations require a valid user token.
88 949f8393 Sofia Papagiannaki
89 949f8393 Sofia Papagiannaki
Send feedback
90 949f8393 Sofia Papagiannaki
^^^^^^^^^^^^^
91 949f8393 Sofia Papagiannaki
92 5d2e61ec Sofia Papagiannaki
Post user feedback.
93 949f8393 Sofia Papagiannaki
94 7421af4a Giorgos Korfiatis
========================== =========  ==================
95 7421af4a Giorgos Korfiatis
Uri                        Method     Description
96 7421af4a Giorgos Korfiatis
========================== =========  ==================
97 7421af4a Giorgos Korfiatis
``/account/v1.0/feedback`` POST       Send feedback
98 7421af4a Giorgos Korfiatis
========================== =========  ==================
99 949f8393 Sofia Papagiannaki
100 949f8393 Sofia Papagiannaki
|
101 949f8393 Sofia Papagiannaki
102 949f8393 Sofia Papagiannaki
====================  ============================
103 949f8393 Sofia Papagiannaki
Request Header Name   Value
104 949f8393 Sofia Papagiannaki
====================  ============================
105 890c2065 Sofia Papagiannaki
X-Auth-Token          User authentication token
106 949f8393 Sofia Papagiannaki
====================  ============================
107 949f8393 Sofia Papagiannaki
108 8f9976c6 Constantinos Venetsanopoulos
|
109 8f9976c6 Constantinos Venetsanopoulos
110 8f9976c6 Constantinos Venetsanopoulos
======================  =========================
111 8f9976c6 Constantinos Venetsanopoulos
Request Parameter Name  Value
112 8f9976c6 Constantinos Venetsanopoulos
======================  =========================
113 949f8393 Sofia Papagiannaki
feedback_msg            Feedback message
114 949f8393 Sofia Papagiannaki
feedback_data           Additional information about service client status
115 8f9976c6 Constantinos Venetsanopoulos
======================  =========================
116 8f9976c6 Constantinos Venetsanopoulos
117 949f8393 Sofia Papagiannaki
|
118 949f8393 Sofia Papagiannaki
119 949f8393 Sofia Papagiannaki
=========================== =====================
120 949f8393 Sofia Papagiannaki
Return Code                 Description
121 949f8393 Sofia Papagiannaki
=========================== =====================
122 949f8393 Sofia Papagiannaki
200 (OK)                    The request succeeded
123 890c2065 Sofia Papagiannaki
502 (Bad Gateway)           Send feedback failure
124 5d2e61ec Sofia Papagiannaki
400 (Bad Request)           Method not allowed or invalid message data
125 5d2e61ec Sofia Papagiannaki
401 (Unauthorized)          Missing or expired user token
126 949f8393 Sofia Papagiannaki
500 (Internal Server Error) The request cannot be completed because of an internal error
127 949f8393 Sofia Papagiannaki
=========================== =====================
128 949f8393 Sofia Papagiannaki
129 6609821f Sofia Papagiannaki
.. warning:: The service is also available under ``/feedback``.
130 6609821f Sofia Papagiannaki
     It  will be removed in the next version.
131 6609821f Sofia Papagiannaki
132 5d2e61ec Sofia Papagiannaki
Get User catalogs
133 5d2e61ec Sofia Papagiannaki
^^^^^^^^^^^^^^^^^
134 949f8393 Sofia Papagiannaki
135 5d2e61ec Sofia Papagiannaki
Return a json formatted dictionary containing information about a specific user
136 949f8393 Sofia Papagiannaki
137 7421af4a Giorgos Korfiatis
=============================== =========  ==================
138 7421af4a Giorgos Korfiatis
Uri                             Method     Description
139 7421af4a Giorgos Korfiatis
=============================== =========  ==================
140 7421af4a Giorgos Korfiatis
``/account/v1.0/user_catalogs`` POST       Get 2 catalogs containing uuid to displayname mapping and the opposite
141 7421af4a Giorgos Korfiatis
=============================== =========  ==================
142 949f8393 Sofia Papagiannaki
143 949f8393 Sofia Papagiannaki
|
144 949f8393 Sofia Papagiannaki
145 949f8393 Sofia Papagiannaki
====================  ============================
146 949f8393 Sofia Papagiannaki
Request Header Name   Value
147 949f8393 Sofia Papagiannaki
====================  ============================
148 890c2065 Sofia Papagiannaki
X-Auth-Token          User authentication token
149 949f8393 Sofia Papagiannaki
====================  ============================
150 949f8393 Sofia Papagiannaki
151 949f8393 Sofia Papagiannaki
|
152 949f8393 Sofia Papagiannaki
153 890c2065 Sofia Papagiannaki
The request body is a json formatted dictionary containing a list with uuids and another list of displaynames to translate.
154 949f8393 Sofia Papagiannaki
155 890c2065 Sofia Papagiannaki
Example request content:
156 5d2e61ec Sofia Papagiannaki
157 5d2e61ec Sofia Papagiannaki
::
158 5d2e61ec Sofia Papagiannaki
159 5d2e61ec Sofia Papagiannaki
  {"displaynames": ["user1@example.com", "user2@example.com"],
160 5d2e61ec Sofia Papagiannaki
   "uuids":["ff53baa9-c025-4d56-a6e3-963db0438830", "a9dc21d2-bcb2-4104-9a9e-402b7c70d6d8"]}
161 5d2e61ec Sofia Papagiannaki
162 5d2e61ec Sofia Papagiannaki
Example reply:
163 5d2e61ec Sofia Papagiannaki
164 5d2e61ec Sofia Papagiannaki
::
165 5d2e61ec Sofia Papagiannaki
166 5d2e61ec Sofia Papagiannaki
  {"displayname_catalog": {"user1@example.com": "a9dc21d2-bcb2-4104-9a9e-402b7c70d6d8",
167 5d2e61ec Sofia Papagiannaki
                           "user2@example.com": "816351c7-7405-4f26-a968-6380cf47ba1f"},
168 5d2e61ec Sofia Papagiannaki
  'uuid_catalog': {"a9dc21d2-bcb2-4104-9a9e-402b7c70d6d8": "user1@example.com",
169 5d2e61ec Sofia Papagiannaki
                   "ff53baa9-c025-4d56-a6e3-963db0438830": "user2@example.com"}}
170 5d2e61ec Sofia Papagiannaki
171 5d2e61ec Sofia Papagiannaki
172 5d2e61ec Sofia Papagiannaki
|
173 5d2e61ec Sofia Papagiannaki
174 5d2e61ec Sofia Papagiannaki
=========================== =====================
175 5d2e61ec Sofia Papagiannaki
Return Code                 Description
176 5d2e61ec Sofia Papagiannaki
=========================== =====================
177 5d2e61ec Sofia Papagiannaki
200 (OK)                    The request succeeded
178 5d2e61ec Sofia Papagiannaki
400 (Bad Request)           Method not allowed or request body is not json formatted
179 5d2e61ec Sofia Papagiannaki
401 (Unauthorized)          Missing or expired or invalid user token
180 5d2e61ec Sofia Papagiannaki
500 (Internal Server Error) The request cannot be completed because of an internal error
181 5d2e61ec Sofia Papagiannaki
=========================== =====================
182 5d2e61ec Sofia Papagiannaki
183 6609821f Sofia Papagiannaki
.. warning:: The service is also available under ``/user_catalogs``.
184 6609821f Sofia Papagiannaki
     It  will be removed in the next version.
185 6609821f Sofia Papagiannaki
186 5d2e61ec Sofia Papagiannaki
Service API Operations
187 5d2e61ec Sofia Papagiannaki
----------------------
188 5d2e61ec Sofia Papagiannaki
189 5d2e61ec Sofia Papagiannaki
The operations described in this chapter allow services to get user uuid/displayname mappings.
190 5d2e61ec Sofia Papagiannaki
191 5d2e61ec Sofia Papagiannaki
All the operations require a valid service token.
192 5d2e61ec Sofia Papagiannaki
193 5d2e61ec Sofia Papagiannaki
Get User catalogs
194 5d2e61ec Sofia Papagiannaki
^^^^^^^^^^^^^^^^^
195 5d2e61ec Sofia Papagiannaki
196 5d2e61ec Sofia Papagiannaki
Return a json formatted dictionary containing information about a specific user
197 5d2e61ec Sofia Papagiannaki
198 7421af4a Giorgos Korfiatis
======================================= =========  ==================
199 7421af4a Giorgos Korfiatis
Uri                                     Method     Description
200 7421af4a Giorgos Korfiatis
======================================= =========  ==================
201 7421af4a Giorgos Korfiatis
``/account/v1.0/service/user_catalogs`` POST       Get 2 catalogs containing uuid to displayname mapping and the opposite
202 7421af4a Giorgos Korfiatis
======================================= =========  ==================
203 5d2e61ec Sofia Papagiannaki
204 5d2e61ec Sofia Papagiannaki
|
205 5d2e61ec Sofia Papagiannaki
206 5d2e61ec Sofia Papagiannaki
====================  ============================
207 5d2e61ec Sofia Papagiannaki
Request Header Name   Value
208 5d2e61ec Sofia Papagiannaki
====================  ============================
209 5d2e61ec Sofia Papagiannaki
X-Auth-Token          Service authentication token
210 5d2e61ec Sofia Papagiannaki
====================  ============================
211 5d2e61ec Sofia Papagiannaki
212 5d2e61ec Sofia Papagiannaki
|
213 5d2e61ec Sofia Papagiannaki
214 5d2e61ec Sofia Papagiannaki
The request body is a json formatted dictionary containing a list with uuids and another list of displaynames to translate.
215 19246578 Sofia Papagiannaki
If instead of list null is passed then the response contains the information for all the system users (For discretion purposes
216 19246578 Sofia Papagiannaki
this behavior is **not** exposed in the respective call of the User API).
217 5d2e61ec Sofia Papagiannaki
218 5d2e61ec Sofia Papagiannaki
Example request content:
219 8f9976c6 Constantinos Venetsanopoulos
220 8f9976c6 Constantinos Venetsanopoulos
::
221 8f9976c6 Constantinos Venetsanopoulos
222 890c2065 Sofia Papagiannaki
  {"displaynames": ["user1@example.com", "user2@example.com"],
223 890c2065 Sofia Papagiannaki
   "uuids":["ff53baa9-c025-4d56-a6e3-963db0438830", "a9dc21d2-bcb2-4104-9a9e-402b7c70d6d8"]}
224 949f8393 Sofia Papagiannaki
225 890c2065 Sofia Papagiannaki
Example reply:
226 8f9976c6 Constantinos Venetsanopoulos
227 890c2065 Sofia Papagiannaki
::
228 949f8393 Sofia Papagiannaki
229 890c2065 Sofia Papagiannaki
  {"displayname_catalog": {"user1@example.com": "a9dc21d2-bcb2-4104-9a9e-402b7c70d6d8",
230 890c2065 Sofia Papagiannaki
                           "user2@example.com": "816351c7-7405-4f26-a968-6380cf47ba1f"},
231 890c2065 Sofia Papagiannaki
  'uuid_catalog': {"a9dc21d2-bcb2-4104-9a9e-402b7c70d6d8": "user1@example.com",
232 890c2065 Sofia Papagiannaki
                   "ff53baa9-c025-4d56-a6e3-963db0438830": "user2@example.com"}}
233 8f9976c6 Constantinos Venetsanopoulos
234 8f9976c6 Constantinos Venetsanopoulos
235 949f8393 Sofia Papagiannaki
|
236 8f9976c6 Constantinos Venetsanopoulos
237 949f8393 Sofia Papagiannaki
=========================== =====================
238 949f8393 Sofia Papagiannaki
Return Code                 Description
239 949f8393 Sofia Papagiannaki
=========================== =====================
240 949f8393 Sofia Papagiannaki
200 (OK)                    The request succeeded
241 890c2065 Sofia Papagiannaki
400 (Bad Request)           Method not allowed or request body is not json formatted
242 949f8393 Sofia Papagiannaki
401 (Unauthorized)          Missing or expired or invalid service token
243 949f8393 Sofia Papagiannaki
500 (Internal Server Error) The request cannot be completed because of an internal error
244 949f8393 Sofia Papagiannaki
=========================== =====================
245 6609821f Sofia Papagiannaki
246 6609821f Sofia Papagiannaki
.. warning:: The service is also available under ``/service/api/user_catalogs``.
247 6609821f Sofia Papagiannaki
     It  will be removed in the next version.
248 98893c32 Sofia Papagiannaki
249 98893c32 Sofia Papagiannaki
Tokens API Operations
250 98893c32 Sofia Papagiannaki
----------------------
251 98893c32 Sofia Papagiannaki
252 49005665 Sofia Papagiannaki
Authenticate
253 49005665 Sofia Papagiannaki
^^^^^^^^^^^^
254 49005665 Sofia Papagiannaki
255 b4b82ec4 Giorgos Korfiatis
This call takes the user token or the user uuid/token pair, authenticates
256 b4b82ec4 Giorgos Korfiatis
the user and returns information about the token, its holder as well as
257 b4b82ec4 Giorgos Korfiatis
a list of services the user can access.
258 b4b82ec4 Giorgos Korfiatis
If no request body is provided (the request content length is missing or
259 b4b82ec4 Giorgos Korfiatis
equals to 0), the call operates in public mode, attempts no authentication
260 b4b82ec4 Giorgos Korfiatis
and returns only the service catalog.
261 49005665 Sofia Papagiannaki
262 49005665 Sofia Papagiannaki
========================================= =========  ==================
263 49005665 Sofia Papagiannaki
Uri                                       Method     Description
264 49005665 Sofia Papagiannaki
========================================= =========  ==================
265 8cb96389 Sofia Papagiannaki
``/identity/v2.0/tokens/``                POST       Checks whether the provided token is valid and conforms with the provided uuid (if present) and returns back information about the user
266 49005665 Sofia Papagiannaki
========================================= =========  ==================
267 49005665 Sofia Papagiannaki
268 49005665 Sofia Papagiannaki
The input should be json formatted.
269 49005665 Sofia Papagiannaki
270 49005665 Sofia Papagiannaki
Example request:
271 49005665 Sofia Papagiannaki
272 49005665 Sofia Papagiannaki
::
273 49005665 Sofia Papagiannaki
274 49005665 Sofia Papagiannaki
    {
275 49005665 Sofia Papagiannaki
        "auth":{
276 8cb96389 Sofia Papagiannaki
            "token":{
277 26498848 Giorgos Korfiatis
                "id":"CDEe2k0T/HdiJWBMMbHyOA"
278 49005665 Sofia Papagiannaki
            },
279 49005665 Sofia Papagiannaki
            "tenantName":"c18088be-16b1-4263-8180-043c54e22903"
280 49005665 Sofia Papagiannaki
        }
281 49005665 Sofia Papagiannaki
    }
282 49005665 Sofia Papagiannaki
283 49005665 Sofia Papagiannaki
or
284 49005665 Sofia Papagiannaki
285 49005665 Sofia Papagiannaki
::
286 49005665 Sofia Papagiannaki
287 49005665 Sofia Papagiannaki
    {
288 49005665 Sofia Papagiannaki
        "auth":{
289 8cb96389 Sofia Papagiannaki
            "passwordCredentials":{
290 8cb96389 Sofia Papagiannaki
                "username":"c18088be-16b1-4263-8180-043c54e22903",
291 26498848 Giorgos Korfiatis
                "password":"CDEe2k0T/HdiJWBMMbHyOA"
292 49005665 Sofia Papagiannaki
            },
293 49005665 Sofia Papagiannaki
            "tenantName":"c18088be-16b1-4263-8180-043c54e22903"
294 49005665 Sofia Papagiannaki
        }
295 49005665 Sofia Papagiannaki
    }
296 49005665 Sofia Papagiannaki
297 49005665 Sofia Papagiannaki
298 bd93595d Sofia Papagiannaki
The tenantName in the above requests is optional.
299 bd93595d Sofia Papagiannaki
300 49005665 Sofia Papagiannaki
The response is json formatted unless it is requested otherwise via format
301 49005665 Sofia Papagiannaki
request parameter or Accept header.
302 49005665 Sofia Papagiannaki
303 49005665 Sofia Papagiannaki
Example json response:
304 49005665 Sofia Papagiannaki
305 49005665 Sofia Papagiannaki
::
306 49005665 Sofia Papagiannaki
307 8cb96389 Sofia Papagiannaki
    {"access": {
308 d29f0371 Sofia Papagiannaki
        "token": {
309 d29f0371 Sofia Papagiannaki
            "expires": "2013-06-19T15:23:59.975572+00:00",
310 d29f0371 Sofia Papagiannaki
            "id": "CDEe2k0T/HdiJWBMMbHyOA==",
311 d29f0371 Sofia Papagiannaki
            "tenant": {
312 d29f0371 Sofia Papagiannaki
                "id": "c18088be-16b1-4263-8180-043c54e22903",
313 d29f0371 Sofia Papagiannaki
                "name": "Firstname Lastname"
314 d29f0371 Sofia Papagiannaki
            }
315 d29f0371 Sofia Papagiannaki
        },
316 8cb96389 Sofia Papagiannaki
        "serviceCatalog": [
317 d29f0371 Sofia Papagiannaki
            {"endpoints_links": [],
318 d29f0371 Sofia Papagiannaki
             "endpoints": [{
319 d29f0371 Sofia Papagiannaki
                "SNF:uiURL": "https://accounts.example.synnefo.org/ui",
320 d29f0371 Sofia Papagiannaki
                "versionId": "v1.0",
321 d29f0371 Sofia Papagiannaki
                "publicURL": "https://accounts.example.synnefo.org/account/v1.0"}],
322 d29f0371 Sofia Papagiannaki
             "type": "account",
323 d29f0371 Sofia Papagiannaki
             "name": "astakos_account"},
324 d29f0371 Sofia Papagiannaki
            {"endpoints_links": [],
325 d29f0371 Sofia Papagiannaki
             "endpoints": [{
326 d29f0371 Sofia Papagiannaki
                 "SNF:uiURL": "https://accounts.example.synnefo.org/ui",
327 d29f0371 Sofia Papagiannaki
                 "versionId": "v2.0",
328 d29f0371 Sofia Papagiannaki
                 "publicURL": "https://accounts.example.synnefo.org/account/v2.0"}],
329 d29f0371 Sofia Papagiannaki
             "type": "identity",
330 d29f0371 Sofia Papagiannaki
             "name": "astakos_identity"},
331 d29f0371 Sofia Papagiannaki
            {"endpoints_links": [],
332 d29f0371 Sofia Papagiannaki
             "endpoints": [{
333 d29f0371 Sofia Papagiannaki
                 "SNF:uiURL": "https://cyclades.example.synnefo.org/ui",
334 d29f0371 Sofia Papagiannaki
                 "versionId": "v2.0",
335 d29f0371 Sofia Papagiannaki
                 "publicURL": "https://cyclades.example.synnefo.org/cyclades/compute/v2.0"}],
336 d29f0371 Sofia Papagiannaki
             "type": "compute",
337 d29f0371 Sofia Papagiannaki
             "name": "cyclades_compute"},
338 d29f0371 Sofia Papagiannaki
            {"endpoints_links": [],
339 d29f0371 Sofia Papagiannaki
             "endpoints": [{
340 d29f0371 Sofia Papagiannaki
                 "SNF:uiURL": "https://cyclades.example.synnefo.org/ui",
341 d29f0371 Sofia Papagiannaki
                 "versionId": "v1.0",
342 d29f0371 Sofia Papagiannaki
                 "publicURL": "https://cyclades.example.synnefo.org/cyclades/vmapi/v1.0"}],
343 d29f0371 Sofia Papagiannaki
             "type": "cyclades_vmapi",
344 d29f0371 Sofia Papagiannaki
             "name": "cyclades_vmapi"},
345 d29f0371 Sofia Papagiannaki
            {"endpoints_links": [],
346 d29f0371 Sofia Papagiannaki
             "endpoints": [{
347 d29f0371 Sofia Papagiannaki
                 "SNF:uiURL": "https://cyclades.example.synnefo.org/ui",
348 d29f0371 Sofia Papagiannaki
                 "versionId": "v1.0",
349 d29f0371 Sofia Papagiannaki
                 "publicURL": "https://cyclades.example.synnefo.org/cyclades/image/v1.0"}],
350 d29f0371 Sofia Papagiannaki
             "type": "image",
351 d29f0371 Sofia Papagiannaki
             "name": "cyclades_plankton"},
352 d29f0371 Sofia Papagiannaki
            {"endpoints_links": [],
353 d29f0371 Sofia Papagiannaki
             "endpoints": [{
354 d29f0371 Sofia Papagiannaki
                 "SNF:uiURL": "https://object-store.example.synnefo.org/ui",
355 d29f0371 Sofia Papagiannaki
                 "versionId": "v2.0",
356 d29f0371 Sofia Papagiannaki
                 "publicURL": "https://object-store.example.synnefo.org/pithos/public/v2.0"}],
357 d29f0371 Sofia Papagiannaki
             "type": "public",
358 d29f0371 Sofia Papagiannaki
             "name": "pithos_public"},
359 d29f0371 Sofia Papagiannaki
            {"endpoints_links": [],
360 d29f0371 Sofia Papagiannaki
             "endpoints": [{
361 d29f0371 Sofia Papagiannaki
                 "SNF:uiURL": "https://object-store.example.synnefo.org/ui",
362 d29f0371 Sofia Papagiannaki
                 "versionId": "v1",
363 d29f0371 Sofia Papagiannaki
                 "publicURL": "https://object-store.example.synnefo.org/pithos/object-store/v1"}],
364 d29f0371 Sofia Papagiannaki
             "type": "object-store",
365 06f891e8 Sofia Papagiannaki
             "name": "pithos_object-store"},
366 06f891e8 Sofia Papagiannaki
            {"endpoints_links": [],
367 06f891e8 Sofia Papagiannaki
             "endpoints": [{
368 06f891e8 Sofia Papagiannaki
                 "SNF:uiURL": "https://accounts.example.synnefo.org/ui",
369 06f891e8 Sofia Papagiannaki
                 "versionId": "",
370 7f8af0e9 Sofia Papagiannaki
                 "SNF:webloginURL": "http://localhost:8080/astakos/weblogin"
371 06f891e8 Sofia Papagiannaki
                 "publicURL": "https://accounts.example.synnefo.org/astakos/weblogin"}],
372 06f891e8 Sofia Papagiannaki
             "type": "astakos_weblogin",
373 06f891e8 Sofia Papagiannaki
             "name": "astakos_weblogin"}],
374 d29f0371 Sofia Papagiannaki
         "user": {
375 d29f0371 Sofia Papagiannaki
             "roles_links": [],
376 d29f0371 Sofia Papagiannaki
             "id": "c18088be-16b1-4263-8180-043c54e22903",
377 d29f0371 Sofia Papagiannaki
             "roles": [{"id": 1, "name": "default"}],
378 d29f0371 Sofia Papagiannaki
             "name": "Firstname Lastname"}}}
379 49005665 Sofia Papagiannaki
380 49005665 Sofia Papagiannaki
Example xml response:
381 49005665 Sofia Papagiannaki
382 49005665 Sofia Papagiannaki
::
383 49005665 Sofia Papagiannaki
384 49005665 Sofia Papagiannaki
    <?xml version="1.0" encoding="UTF-8"?>
385 8cb96389 Sofia Papagiannaki
386 49005665 Sofia Papagiannaki
    <access xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
387 49005665 Sofia Papagiannaki
        xmlns="http://docs.openstack.org/identity/api/v2.0">
388 d29f0371 Sofia Papagiannaki
        <token id="CDEe2k0T/HdiJWBMMbHyOA==" expires="2013-06-19T15:23:59.975572+00:00">
389 49005665 Sofia Papagiannaki
            <tenant id="c18088be-16b1-4263-8180-043c54e22903" name="Firstname Lastname" />
390 49005665 Sofia Papagiannaki
        </token>
391 49005665 Sofia Papagiannaki
        <user id="c18088be-16b1-4263-8180-043c54e22903" name="Firstname Lastname">
392 49005665 Sofia Papagiannaki
            <roles>
393 49005665 Sofia Papagiannaki
                    <role id="1" name="default"/>
394 49005665 Sofia Papagiannaki
            </roles>
395 49005665 Sofia Papagiannaki
        </user>
396 49005665 Sofia Papagiannaki
        <serviceCatalog>
397 d29f0371 Sofia Papagiannaki
            <service type="account" name="astakos_account">
398 d29f0371 Sofia Papagiannaki
                <endpoint  SNF:uiURL="https://accounts.example.synnefo.org/ui"  versionId="v1.0"  publicURL="https://accounts.example.synnefo.org/account/v1.0"  />
399 8cb96389 Sofia Papagiannaki
            </service>
400 d29f0371 Sofia Papagiannaki
            <service type="identity" name="astakos_identity">
401 d29f0371 Sofia Papagiannaki
                <endpoint  SNF:uiURL="https://accounts.example.synnefo.org/ui"  versionId="v2.0"  publicURL="https://accounts.example.synnefo.org/account/v2.0"  />
402 8cb96389 Sofia Papagiannaki
            </service>
403 d29f0371 Sofia Papagiannaki
            <service type="compute" name="cyclades_compute">
404 d29f0371 Sofia Papagiannaki
                <endpoint  SNF:uiURL="https://cyclades.example.synnefo.org/ui"  versionId="v2.0"  publicURL="https://cyclades.example.synnefo.org/cyclades/compute/v2.0"  />
405 8cb96389 Sofia Papagiannaki
            </service>
406 d29f0371 Sofia Papagiannaki
            <service type="cyclades_vmapi" name="cyclades_vmapi">
407 d29f0371 Sofia Papagiannaki
                <endpoint  SNF:uiURL="https://cyclades.example.synnefo.org/ui"  versionId="v1.0"  publicURL="https://cyclades.example.synnefo.org/cyclades/vmapi/v1.0"  />
408 8cb96389 Sofia Papagiannaki
            </service>
409 d29f0371 Sofia Papagiannaki
            <service type="image" name="cyclades_plankton">
410 d29f0371 Sofia Papagiannaki
                <endpoint  SNF:uiURL="https://cyclades.example.synnefo.org/ui"  versionId="v1.0"  publicURL="https://cyclades.example.synnefo.org/cyclades/image/v1.0"  />
411 49005665 Sofia Papagiannaki
            </service>
412 d29f0371 Sofia Papagiannaki
            <service type="public" name="pithos_public">
413 d29f0371 Sofia Papagiannaki
                <endpoint  SNF:uiURL="https://object-store.example.synnefo.org/ui"  versionId="v2.0"  publicURL="https://object-store.example.synnefo.org/pithos/public/v2.0"  />
414 49005665 Sofia Papagiannaki
            </service>
415 d29f0371 Sofia Papagiannaki
            <service type="object-store" name="pithos_object-store">
416 d29f0371 Sofia Papagiannaki
                <endpoint  SNF:uiURL="https://object-store.example.synnefo.org/ui"  versionId="v1"  publicURL="https://object-store.example.synnefo.org/pithos/object-store/v1"  /> </service>
417 06f891e8 Sofia Papagiannaki
            <service type="astakos_weblogin" name="astakos_weblogin">
418 7f8af0e9 Sofia Papagiannaki
                <endpoint  SNF:uiURL="htftps://accounts.example.synnefo.org/ui"  versionId=""  "SNF:webloginURL": "http://localhost:8080/astakos/weblogin"  publicURL="https://accounts.example.synnefo.org/astakos/weblogin"  />
419 49005665 Sofia Papagiannaki
        </serviceCatalog>
420 49005665 Sofia Papagiannaki
    </access>
421 49005665 Sofia Papagiannaki
422 49005665 Sofia Papagiannaki
|
423 49005665 Sofia Papagiannaki
424 49005665 Sofia Papagiannaki
=========================== =====================
425 49005665 Sofia Papagiannaki
Return Code                 Description
426 49005665 Sofia Papagiannaki
=========================== =====================
427 49005665 Sofia Papagiannaki
200 (OK)                    The request succeeded
428 11366070 Sofia Papagiannaki
400 (Bad Request)           Method not allowed or invalid request format or missing expected input or not consistent tenantName
429 49005665 Sofia Papagiannaki
401 (Unauthorized)          Invalid token or invalid creadentials or tenantName does not comply with the provided token
430 49005665 Sofia Papagiannaki
500 (Internal Server Error) The request cannot be completed because of an internal error
431 49005665 Sofia Papagiannaki
=========================== =====================
432 5547485e Sofia Papagiannaki
433 5547485e Sofia Papagiannaki
Validate token
434 5547485e Sofia Papagiannaki
^^^^^^^^^^^^^^
435 5547485e Sofia Papagiannaki
436 5547485e Sofia Papagiannaki
This calls validates an access token and confirms that it belongs to a
437 5547485e Sofia Papagiannaki
specified scope.
438 5547485e Sofia Papagiannaki
439 5547485e Sofia Papagiannaki
========================================= =========  ==================
440 5547485e Sofia Papagiannaki
Uri                                       Method     Description
441 5547485e Sofia Papagiannaki
========================================= =========  ==================
442 5547485e Sofia Papagiannaki
``/identity/v2.0/tokens/<token_id>``      GET        Validates an access token and confirms that it belongs to a specified scope.
443 5547485e Sofia Papagiannaki
========================================= =========  ==================
444 5547485e Sofia Papagiannaki
445 5547485e Sofia Papagiannaki
|
446 5547485e Sofia Papagiannaki
447 5547485e Sofia Papagiannaki
======================  =========================
448 5547485e Sofia Papagiannaki
Request Parameter Name  Value
449 5547485e Sofia Papagiannaki
======================  =========================
450 5547485e Sofia Papagiannaki
belongsTo               Validates that a access token has the specified scope.
451 5547485e Sofia Papagiannaki
                        The belongsTo parameter is optional.
452 5547485e Sofia Papagiannaki
======================  =========================
453 5547485e Sofia Papagiannaki
454 5547485e Sofia Papagiannaki
455 5547485e Sofia Papagiannaki
Example response
456 5547485e Sofia Papagiannaki
457 5547485e Sofia Papagiannaki
::
458 5547485e Sofia Papagiannaki
459 5547485e Sofia Papagiannaki
    {"access": {
460 5547485e Sofia Papagiannaki
        "token": {
461 5547485e Sofia Papagiannaki
            "expires": "2013-12-02T15:57:34.300266+00:00",
462 5547485e Sofia Papagiannaki
            "id": "2YotnFZFEjr1zCsicMWpAA",
463 5547485e Sofia Papagiannaki
            "tenant": {
464 5547485e Sofia Papagiannaki
                "id": "c18088be-16b1-4263-8180-043c54e22903",
465 5547485e Sofia Papagiannaki
                "name": "Firstname Lastname"
466 5547485e Sofia Papagiannaki
            }
467 5547485e Sofia Papagiannaki
        },
468 5547485e Sofia Papagiannaki
         "user": {
469 5547485e Sofia Papagiannaki
             "roles_links": [],
470 5547485e Sofia Papagiannaki
             "id": "c18088be-16b1-4263-8180-043c54e22903",
471 5547485e Sofia Papagiannaki
             "roles": [{"id": 1, "name": "default"}],
472 5547485e Sofia Papagiannaki
             "name": "Firstname Lastname"}}}
473 5547485e Sofia Papagiannaki
|
474 5547485e Sofia Papagiannaki
475 5547485e Sofia Papagiannaki
=========================== =====================
476 5547485e Sofia Papagiannaki
Return Code                 Description
477 5547485e Sofia Papagiannaki
=========================== =====================
478 5547485e Sofia Papagiannaki
404                         Unknown or expired access token or the access token does not belong to the specified scope
479 5547485e Sofia Papagiannaki
=========================== =====================