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 | =========================== ===================== |