Changes for page Community App Developer Guide
Last modified by bougault on 2022/03/02 11:58
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -20,3 +20,61 @@ 20 20 == Registering an application in the Catalogue == 21 21 22 22 The Community Apps Catalogue is the place where collab authors look for applications to add to their collabs. 23 + 24 +{{error}} 25 +TODO: describe the steps to register an app in the Catalogue 26 +{{/error}} 27 + 28 +== Creating your OpenID Connect client == 29 + 30 +The steps to create an OpenID Connect client are the following: 31 + 32 +* get an access token from the `developer` client 33 +* use the token to call the create endpoint 34 +* save your registration access token for further modifications of your client 35 + 36 +=== Fetching your developer access token === 37 + 38 +In order to get your developer token, you need to authenticate against the developer client with the password grant. 39 + 40 +This can be achieved with this sample bash script: 41 + 42 +{{code language="bash"}} 43 +# Gather username and password from user 44 +echo '\nEnter your username' && read clb_dev_username && 45 +echo '\nEnter your password' && read -s clb_dev_pwd && 46 + 47 +# Fetch the token 48 +curl -X POST https://iam.humanbrainproject.eu/auth/realms/hbp/protocol/openid-connect/token \ 49 + -u developer: \ 50 + -d 'grant_type=password' \ 51 + -d "username=${clb_dev_username}" \ 52 + -d "password=${clb_dev_pwd}" | 53 + 54 +# Prettify the JSON response 55 +json_pp; 56 + 57 +# Erase the credentials from local variables 58 +clb_dev_pwd='';clb_dev_username='' 59 +{{/code}} 60 + 61 +The response will be similar to: 62 + 63 +{{code language="json"}} 64 +{ 65 + "access_token": "eyJhbGci...", 66 + "expires_in": 108000, 67 + "refresh_expires_in": 14400, 68 + "refresh_token": "eyJhbGci...", 69 + "token_type": "bearer", 70 + "not-before-policy": 1563261088, 71 + "session_state": "0ac3dfcd-aa5e-42eb-b333-2f73496b81f8", 72 + "scope": "" 73 +} 74 +{{/code}} 75 + 76 +Copy the "access_token" value, it is the one that will be needed for the next step. 77 + 78 +=== Creating the client === 79 + 80 +Clients can be created by sending a JSON representation t