Giter Club home page Giter Club logo

keystone's Introduction

Keystone is a fully containerized lightweight SCIM 2.0 API implementation.

Getting Started

Run the container with zero config to test it:

# Pull the image:
docker pull ghcr.io/keystone-scim/keystone:latest

# Run the container:
docker run -it \
  -p 5001:5001 \ 
  -e AUTHENTICATION_SECRET=supersecret \
  ghcr.io/keystone-scim/keystone:latest

Read the Keystone documentation to understand how you can configure Keystone with its different backends.

What's Keystone?

Keystone implements the SCIM 2.0 REST API. If you run your identity management operations with an identity manager that supports user provisioning (e.g., Azure AD, Okta, etc.), you can use Keystone to persist directory changes. Keystone v0.1.0 supports two persistence layers: PostgreSQL, MongoDB, Azure Cosmos DB, and MySQL.

logo

Key features:

  • A compliant SCIM 2.0 REST API implementation for Users and Groups.
  • Stateless container - deploy it anywhere you want (e.g., Kubernetes) and bring your own storage.
  • Pluggable store for users and groups. Current supported storage technologies:
  • Azure Key Vault bearer token retrieval.
  • Extensible store: Can't use MongoDB, Cosmos DB, PostgreSQL, or MySQL? Open an issue and/or consider becoming a contributor by implementing your own data store.

Configure the API

See Keystone Documentation.

Development

Please see the Contribution Guide to get started.

keystone's People

Contributors

yuvalherziger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

keystone's Issues

No record is inserted into users_groups table in Postgress

Hi,

When using users and groups provisioning via Azure AD. Postgres users_groups table does not show even a single record. There are multiple records in the users and groups table but none in users_groups intersection table.

Thanks

Patching users

I was wondering if keystone supports the PATCH operation on the Users endpoint. I would like for example to update the active value of an user. I have tried the following. It returns a 200 but no changes to the active field in the database (I'm using Postgres).

{
  "schemas": [
    "urn:ietf:params:scim:api:messages:2.0:PatchOp"
  ],
  "Operations": [
    {
      "op": "replace",
      "value": {
         "active": true
      }
    }
  ]
}

Also tried it with a path. Same 200 and no changes.

{
  "schemas": [
    "urn:ietf:params:scim:api:messages:2.0:PatchOp"
  ],
  "Operations": [
    {
      "op": "replace",
      "path" : "active",
      "value": true
    }
  ]
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.