No description
Find a file
2024-10-09 12:26:05 +01:00
app/controllers/scim_v2 DEV: Modify User model for SCIM 2024-10-07 11:22:23 +01:00
config DEV: Clean up of code 2024-10-09 12:26:05 +01:00
lib/discourse_scim DEV: Clean up of code 2024-10-09 12:26:05 +01:00
.gitignore Initial commit 2024-10-06 18:39:16 +01:00
LICENSE.txt DEV: Add README and LICENSE 2024-10-09 12:13:14 +01:00
plugin.rb DEV: Clean up of code 2024-10-09 12:26:05 +01:00
README.md DEV: Add README and LICENSE 2024-10-09 12:13:14 +01:00

Discourse SCIM Plugin

A simple plugin that adds SCIM endpoints to Discourse.

The plugin is currently under development, not everything might work.

SCIM is a standard proposed by the IETF through RFC7644 and RFC7643 which aims to provide solution for user/group management through a simple Rest API.

The development of this plugin was funder by NGI via NLNet, you can read the proposal and about related work in our forum here.

To install the plugin

The easiest way to install the plugin to your running Discourse instance is to clone this repository and link or copy the main folder of this repository to the plugins/ folder in the Discourse code:

$ git clone https://forge.libre.sh/libre.sh/discourse-scim.git
$ cd discourse
$ ln -s ../discourse-scim plugins/

The plugin is enabled automatically when you (re)start the Discourse instance.

Query the SCIM endpoints

To query the SCIM endpoints you have to create an API key first. You can have a global API key for all users or a granular (scoped) API key for all users as described here:

https://meta.discourse.org/t/create-and-configure-an-api-key/230124

Please use the scope scim. Currently you have to allow access to all endpoints together.

Then to query all users with curl for example:

$ curl -H 'Authorization: Bearer <your_api_key>' -H 'Content-Type: application/scim+json' -v http://localhost:4200/scim_v2/Users