Last modified by chaney08 on 2023/04/28 14:55

Show last authors
1 == Abstract ==
2
3 In some case, you maybe want your service account beeing member of a team or a group (to access APIs of theses team/group with your service account token).
4 \\This is not possible through the front-end, service account doesn't appears. But you can do it using the API.
5
6 == Requirement ==
7
8 You need first to create an OIDC client and enable the service account for this client and fetch an access token for this account.
9 \\1 - [[Create your OIDC Client>>doc:Collabs.the-collaboratory.Documentation IAM.FAQ.OIDC Clients explained.1\. Registering an OIDC client v2.WebHome]]
10
11 2 - [[Enable the service account and get a token>>doc:Collabs.the-collaboratory.Documentation IAM.FAQ.OIDC Clients explained.Using your OIDC client as a service account.WebHome]]
12
13
14 {{warning}}
15 Getting once an Access Token using the client_credentials flow is necessary to generate the service-account user in our system. If you don't do this step, you will encounter a 404 User Not Found while adding your service account to a team or a group.
16 {{/warning}}
17
18
19 == How to ==
20
21 Finally, your just have to refer to the [[Collab API>>https://wiki.ebrains.eu/bin/view/Collabs/the-collaboratory/Documentation%20Wiki/API/]]  section Team or Group and use the PUT request to add a user to a team/group
22 \\The only thing to know is that the **username **value for service account is the prefix **service-account- **followed by the clientId of your oidc client.
23 \\Now if you fetch an access token for your service account using scopes team and group, you will see that your service account is member of theses teams/groups and you will be able to use your service account to interact with your collab or you groups through a notebook or any scripts.
24 \\[[image:Screenshot 2022-10-19 at 15.00.51.png||height="401" width="462"]]
25
26