Changes for page Community App Developer Guide
Last modified by bougault on 2022/03/02 11:58
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Objects (0 modified, 2 added, 0 removed)
Details
- Page properties
-
- Parent
-
... ... @@ -1,1 +1,1 @@ 1 -Collabs.collab- devs.RFC.WebHome1 +Collabs.collaboratory-community-apps.WebHome - Content
-
... ... @@ -1,25 +1,23 @@ 1 - The Collaboratory is designedtobeextended withapplicationsprovidedbyits community of users.1 +Developers can extend the Collaboratory capabilities by providing applications to its community of users. 2 2 3 -This guide describes h owdeveloperscan contributeby creating and registeringapplicationswithin the Collaboratory.3 +This guide describes the steps to make this possible. 4 4 5 -{{toc numbered="true" start="2"/}} 6 - 7 7 == Becoming a contributor == 8 8 9 -The first step is for you to be recognisedasacontributor. Contributors can register and manage applications within the Community Apps Catalogue.7 +The first step is for you to **become a contributor**. Contributors can register and manage applications within the Community Apps Catalogue. 10 10 11 - To become a contributor, send an email to [[support@humanbrainproject.eu>>mailto:support@humanbrainproject.eu]] with a short summary of your intentions.9 +Send an email to [[support@humanbrainproject.eu>>mailto:support@humanbrainproject.eu]] with a short summary of your intentions. 12 12 13 -The support team will apply the permissions to your user and the next timeyouwill login, your account will be upgraded with developers privileges.11 +The support team will apply the permissions to your user: your account will be upgraded with developers privileges the next time you will login. 14 14 15 15 (% class="box infomessage" %) 16 16 ((( 17 - Pleasenote that, currently,onlySGA2 accredited users will be automatically granted the contributor level.15 +Only SGA2 accredited users will be automatically granted the contributor level. 18 18 ))) 19 19 20 20 == Registering an application in the Catalogue == 21 21 22 - TheCommunity Apps Catalogue is the place where collab authorslookforapplications to add to their collabs.20 +Collab authors find applications to add to their collabs in the Community Apps Catalogue. 23 23 24 24 {{error}} 25 25 TODO: describe the steps to register an app in the Catalogue ... ... @@ -29,15 +29,15 @@ 29 29 30 30 The steps to create an OpenID Connect client are the following: 31 31 32 - *get an access token from the `developer` client33 - *use the token to call the create endpoint34 - *save your registration access token for further modifications of your client30 +1. get an access token from the `developer` client 31 +1. use the token to call the create endpoint 32 +1. save your registration access token for further modifications of your client 35 35 36 36 === Fetching your developer access token === 37 37 38 - In orderto get your developer token,youneedtoauthenticate against the developer client with the password grant.36 +Getting your developer token is done in one simple step: authenticate against the developer client with the password grant. 39 39 40 -This can be achieved with this sample bash script:38 +This can be achieved with this sample shell script: 41 41 42 42 {{code language="bash"}} 43 43 # Gather username and password from user ... ... @@ -73,11 +73,11 @@ 73 73 } 74 74 {{/code}} 75 75 76 -Copy the "access_token" value, it is theonethatwillbeneededfor the next step.74 +Copy the "access_token" value, you will need if for the next step. 77 77 78 78 === Creating the client === 79 79 80 - Clientscanbecreatedby sending a JSON representation to a specific endpoint:78 +You can now create clients by sending a JSON representation to a specific endpoint: 81 81 82 82 {{code language="bash"}} 83 83 # Set your developer token ... ... @@ -160,5 +160,36 @@ 160 160 161 161 Among all the attributes, you should securely save: 162 162 163 -* your client secret ("secret" attribute) which is needed by your application to authenticate to the IAM server when making backend calls 164 -* your client registration access token ("registrationAccessToken") which is the token you will need to authenticate when modifying your client in the future 161 +* your client **secret** ("secret" attribute): it is needed by your application to **authenticate to the IAM server** when making backend calls 162 +* your client **registration access token** ("registrationAccessToken"): you will need it to authenticate when **modifying your client in the future** 163 + 164 +=== Modifying your client === 165 + 166 +Update your client with a PUT request: 167 + 168 +{{code language="bash"}} 169 +# Set your registration token and client id 170 +clb_reg_token=... 171 + 172 +# Update the client 173 +curl -X PUT https://iam.humanbrainproject.eu/auth/realms/hbp/clients-registrations/default/my-awesome-client \ 174 + -H "Authorization: Bearer ${clb_reg_token}" \ 175 + -H 'Content-Type: application/json' \ 176 + -d '{ 177 + "clientId": "my-awesome-client", 178 + "redirectUris": [ 179 + "/relative/redirect/path", 180 + "/these/can/use/wildcards/*", 181 + "/a/new/redirect/uri" 182 + ] 183 + }' | 184 + 185 +# Prettify the JSON response 186 +json_pp; 187 +{{/code}} 188 + 189 + Note that your need to provide your client id both in the endpoint URL and within the body of the request. 190 + 191 +{{warning}} 192 +/!\ ** Each time you modify your client, a new registration access token will be generated. You need to track of your token changes to keep access to your client. **/!\ 193 +{{/warning}}
- XWiki.DocumentSheetBinding[0]
-
- Sheet
-
... ... @@ -1,0 +1,1 @@ 1 +Collaboratory.Apps.Article.Code.ArticleViewSheet
- XWiki.DocumentSheetBinding[1]
-
- Sheet
-
... ... @@ -1,0 +1,1 @@ 1 +Collaboratory.Apps.Article.Code.ArticlePreviewSheet