Warning:  Due to planned infrastructure maintenance, the EBRAINS Wiki and EBRAINS Support system will be unavailable for up to three days starting Monday, 14 July. During this period, both services will be inaccessible, and any emails sent to the support address will not be received.

Attention: We are currently experiencing some issues with the EBRAINS Drive. Please bear with us as we fix this issue. We apologise for any inconvenience caused.


Last modified by messines on 2022/05/25 10:11

From version 9.1
edited by messines
on 2021/11/15 14:38
Change comment: There is no comment for this version
To version 7.1
edited by messines
on 2021/04/15 11:21
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -10,6 +10,10 @@
10 10  
11 11  [[https:~~/~~/dzone.com/articles/the-right-flow-for-the-job-which-oauth-20-flow-sho>>url:https://dzone.com/articles/the-right-flow-for-the-job-which-oauth-20-flow-sho]]
12 12  
13 +Also a live exemple of client ID creation is available here on our lab, you can perfectly use this notebook to create your client, the next steps in this documentation reproduce the content of the notebook.
14 +
15 +[[https:~~/~~/lab.ebrains.eu/user/user-redirect/lab/tree/shared/Collaboratory%20Community%20Apps/Managing%20an%20OpenID%20Connect%20client.ipynb>>https://lab.ebrains.eu/user/user-redirect/lab/tree/shared/Collaboratory%20Community%20Apps/Managing%20an%20OpenID%20Connect%20client.ipynb]]
16 +
13 13  == Creating your OpenID Connect client ==
14 14  
15 15  The steps to create an OpenID Connect (OIDC) client are the following:
... ... @@ -19,12 +19,8 @@
19 19  1. save your registration access token for further modifications of your client
20 20  1. use the token to call the create endpoint
21 21  
22 -==== Easiest way to create a client ====
26 +Note that a Jupyter Notebook notebook is available in the Drive of this collab to help you create and modify your OIDC client. Its name is: **//Managing an OpenID Connect client.ipynb//** [add link]
23 23  
24 -A live exemple of client ID creation is available here on our lab, you can perfectly use this notebook to create your client, the next steps in this documentation reproduce the content of the notebook. The easiest solution as a user is to use this notebook to create a client and avoid human error while executing curl request manually.
25 -
26 -[[https:~~/~~/lab.ebrains.eu/user/user-redirect/lab/tree/shared/Collaboratory%20Community%20Apps/Managing%20an%20OpenID%20Connect%20client.ipynb>>https://lab.ebrains.eu/user/user-redirect/lab/tree/shared/Collaboratory%20Community%20Apps/Managing%20an%20OpenID%20Connect%20client.ipynb]]
27 -
28 28  === Ask for developer accreditation ===
29 29  
30 30  To be authorize to create an OIDC client you have to be accredited as developer.
... ... @@ -87,26 +87,25 @@
87 87  curl -X POST https://iam.ebrains.eu/auth/realms/hbp/clients-registrations/default/ \
88 88   -H "Authorization: Bearer ${clb_dev_token}" \
89 89   -H 'Content-Type: application/json' \
90 - -d '{ "clientId": "your_client_id",
91 - "name": "Collaboratory workshop demo client edited",
90 + -d '{
91 + "clientId": "my-awesome-client",
92 + "name": "My Awesome App",
92 92   "description": "This describes what my app is for end users",
93 - "rootUrl": "https://example.org",
94 - "baseUrl": "https://example.org",
94 + "rootUrl": "https://root.url.of.my.app",
95 + "baseUrl": "/relative/path/to/its/frontpage.html",
95 95   "redirectUris": [
96 - "/login/*",
97 - "https://example.org/login/*"
97 + "/relative/redirect/path",
98 + "/these/can/use/wildcards/*"
98 98   ],
99 - "webOrigins":["http://localhost:8080","https://example.org","+"],
100 - "bearerOnly": False,
101 - "consentRequired": True,
102 - "standardFlowEnabled": True,
103 - "implicitFlowEnabled": False,
104 - "directAccessGrantsEnabled": False,
100 + "webOrigins": ["+"],
101 + "bearerOnly": false,
102 + "consentRequired": true,
103 + "standardFlowEnabled": true,
104 + "implicitFlowEnabled": true,
105 + "directAccessGrantsEnabled": false,
105 105   "attributes": {
106 106   "contacts": "first.contact@example.com; second.contact@example.com"
107 - },
108 - "defaultClientScopes": ["openid","profile","email","roles"],
109 - "optionalClientScopes": ["team","group"]
108 + }
110 110   }' |
111 111  
112 112  # Pretty print the JSON response