Thriving Thriving Go GO
↑ 30 ?
goscim arturoeanton/goscim

πŸš€ Lightning-fast SCIM 2.0 server in Go that makes identity management simple and scalable. Built for developers who need enterprise-grade user provisioning without the enterprise complexity.

HEALTH ? 57 / Quiet
// solo builder// hidden gem// legacy hero apiauthenticationcouchbasedeveloper-toolsdockerenterprisegogolangidentity-managementoauth ?

// readme

GoSCIM

A SCIM 2.0 server in Go, backed by Couchbase.

Resource types, schemas and per-attribute permissions are JSON files, so adding a resource type takes no code. Authentication is required, filter values are bound rather than interpolated into queries, and permissions are enforced per attribute on both read and write.

Using PostgreSQL instead of Couchbase? See the sister project go-vorpal-scim.

Quick start

With Docker Compose (starts Couchbase, initialises the cluster, and starts GoSCIM):

git clone https://github.com/arturoeanton/goscim.git && cd goscim
docker compose up -d --build

Or running the binary directly against a local Couchbase container:

docker run -d --name goscim-db -p 8091-8094:8091-8094 -p 11210:11210 \
  couchbase:community-7.1.1
# Set up the cluster at http://localhost:8091 with the credentials below.

export SCIM_AUTH=basic                       # how clients authenticate
export SCIM_BASIC_USERS='admin:secret:admin'
export SCIM_ADMIN_USER=Administrator         # how the server reaches Couchbase
export SCIM_ADMIN_PASSWORD=password
export SCIM_COUCHBASE_TLS=false…