2022-05-02 12:43:47 +00:00
# SCIM Service Provider
2022-04-29 12:50:07 +00:00
2022-05-02 13:52:56 +00:00
This app allows to provision users and groups in Nextcloud from a scim client.
2022-05-02 13:57:29 +00:00
You can see the [video ](https://hot-objects.liiib.re/meet-liiib-re-recordings/pair_2022-05-02-15-40-37.mp4 ) that shows how it works.
2022-05-02 13:52:56 +00:00
2022-07-13 16:37:14 +00:00
## Limitations
- doesn't accept `application/scim+json` content-type, but only `application/json`
- doesn't implement `meta:createdAt` nor `meta:lastModified` due to this [bug ](https://github.com/nextcloud/server/issues/22640 ) (return unix epoch instead).
2022-05-02 13:52:56 +00:00
## How to use
We plan to publish on the Nextcloud app store, but in the mean time, you can use instructions at the bottom.
## Use with Keycloak
You can use with the [SCIM plugin we developped for keycloak ](https://lab.libreho.st/libre.sh/scim/keycloak-scim ).
2022-04-29 13:58:14 +00:00
## Running tests
2022-04-29 12:50:07 +00:00
2022-05-02 12:43:47 +00:00
To run the test, you can use [insomnia UI ](https://docs.insomnia.rest ).
2022-04-29 12:50:07 +00:00
2022-05-02 12:43:47 +00:00
![screenshot insomnia ui ](./screenshots/insomnia.png )
2022-04-29 12:50:07 +00:00
2022-05-02 12:43:47 +00:00
For CI, there is still [a bug ](https://github.com/Kong/insomnia/issues/4747 ) we need to find a fix.
2022-04-29 12:50:07 +00:00
2022-05-02 13:52:56 +00:00
## Todo
2022-07-13 16:37:14 +00:00
- [ ] Meta (Create our own table)
2022-05-02 13:52:56 +00:00
- createdAt
- lastModified
2022-07-13 16:37:14 +00:00
- [ ] ExternalID for Groups (Create our onw table)
2022-05-19 10:23:46 +00:00
- [ ] json exceptions
- [ ] group member removal
- [ ] pagination
- [ ] CI/CD
- [ ] Lint cs:check
- [ ] test psalm
- [ ] test insomnia
- [ ] publish app on app store
2022-07-13 16:37:14 +00:00
- [ ] lib user scim php
- [ ] accept first email, even if not primary
2022-04-29 12:50:07 +00:00
2022-05-02 12:43:47 +00:00
## Quick "Deploy" to test
2022-04-29 12:50:07 +00:00
2022-05-02 12:43:47 +00:00
```
cd apps
2022-05-02 13:23:47 +00:00
wget https://lab.libreho.st/libre.sh/scim/nextcloud-scim/-/archive/main/nextcloud-scim-main.zip
2022-05-02 10:21:25 +00:00
unzip nextcloud-scim-main.zip
rm nextcloud-scim-main.zip
rm -rf scimserviceprovider
2022-05-02 12:43:47 +00:00
mv nextcloud-scim-main scimserviceprovider
2022-05-02 13:52:56 +00:00
```
## NextGov Hackathon
2022-05-02 13:57:29 +00:00
This app was started during the [Nextgov hackathon ](https://eventornado.com/submission/automatic-sso-saml-sync-from-identity-provider-keycloak-through-a-well-known-protocol-scim?s=1#idea )!