GitPedia

Go scim

Building blocks for servers implementing Simple Cloud Identity Management v2

From imulab·Updated June 12, 2026·View on GitHub·

> GoSCIM aims to be a fully featured implementation of [SCIM v2](http://www.simplecloud.info/) specification. It provides opinion-free and extensible building blocks, as well as an opinionated server implementation. The project is written primarily in Go, distributed under the MIT License license, first published in 2017. Key topics include: cloud, go, golang, identity, identity-management.

Latest release: pkg/v2.2.0Core Module v2.2.0
December 25, 2020View Changelog →
<img src="./asset/scim.png" width="200">

GoSCIM aims to be a fully featured implementation of SCIM v2 specification. It
provides opinion-free and extensible building blocks, as well as an opinionated server implementation.

:rocket: TLDR

Requirements: Docker and Docker Compose
bash
# Builds docker image and starts local docker-compose stack make docker compose

:file_folder: Project structure

Since v1, the project has grown into three independent modules.

  • pkg module evolved from most of the original building blocks.
    This module provides customizable, extensible and opinion free implementation of the SCIM specification.
  • mongo module evolved from the original mongo package.
    This module provides persistence capabilities to MongoDB.
  • server module evolved from the original example server implementation. It is now
    an opinionated personal server implementation that depends on the above two modules.

Documentation for the individual modules can be viewed in their respective directories and godoc badge links.

:no_entry_sign: End of v1

Due to limited time and resource and a drastic new design in v2, the building blocks and mongo package from v1 will no
longer be maintained. The github.com/imulab/go-scim will go on as an opinionated personal implementation, which may or
may not resonate with everyone's use case.

However, other modules will continue to be maintained and accept changes to allow reasonable use cases, while remaining
true to the specification itself.

Contributors

Showing top 4 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from imulab/go-scim via the GitHub API.Last fetched: 6/14/2026