Git Product home page Git Product logo

charon's Introduction

WSO2 Charon - SCIM 2.0 Open Source Implementation

Branch Build Status Travis CI Status
master Build Status Travis CI Status

WSO2 Charon is an open source implementation of SCIM protocol which is an open standard for Identity Provisioning. Charon comes under Apache 2.0 license. It can be used by any one who wants to add SCIM-based provisioning support for their applications. WSO2 Charon is integrated with WSO2 Identity Server.

The following includes a brief introduction on each of the modules.

Charon-Core: This is the API that exposes an implementation of the SCIM specification. It can be used by any SCIM service provider or client implementation to support SCIM operations/functionalities. In addition to that, it also allows room for extension points to be plugged in according to the particular server side/client side implementation like user storage.

Charon-Utils: This contains a set of default implementations of the extension points. For example: SCIMUserManager. A particular implementation that uses charon-core as SCIM API can use these default implementations as building blocks.

Charon-Impl: A reference implementation of SCIM service provider is shipped with this module. Currently it is WSO2 msf4j based micro service that enables the SCIM endpoints to be exposed. This is based on the above two modules: charon-core and charon-utils, and illustrates how any SCIM implementation can utilize the API and supporting module provided by Charon.

Charon-Samples: This contains samples illustrating the SCIM use cases. Samples mainly contain the SCIM client side implementations which can be run against a SCIM server, and hence can also be referenced to get to know how the API provided by Charon can be used to implement SCIM client side.

Currently following features are supported.

/Users Endpoint

  • Create
  • Get
  • Delete
  • List
  • Pagination
  • attributes and exclude attribute support for all operations
  • Update with PUT
  • Sorting
  • Filtering including complex filters
  • Querying with POST
  • Update with PATCH
    • Add
    • Remove
    • Replace

/Groups Endpoint

  • Create
  • Get
  • Delete
  • List
  • Filtering including complex filters
  • Pagination
  • attributes and exclude attribute support for all operations
  • Sorting
  • Update with PUT
  • Querying with POST
  • Update with PATCH
    • Add
    • Remove
    • Replace

/Me Endpoint

  • Create
  • Get
  • Delete
  • attributes and exclude attribute support for all operations
  • Update with PUT
  • Update with PATCH
    • Add
    • Remove
    • Replace

EnterpriseUser

  • Create
  • Get
  • Delete
  • List
  • Pagination
  • attributes and exclude attribute support for all operations
  • Update with PUT
  • Sorting
  • Filtering including complex filters
  • Querying with POST
  • Update with PATCH
    • Add
    • Remove
    • Replace

/ServiceProviderConfig Endpoint

  • Get

/ResourceType Endpoint

  • Get

/Schemas Endpoint

  • Get

/Bulk Endpoint

  • Create
  • Get
  • Delete
  • Update with PUT
  • Update with PATCH

Following features are being developed.

  • Resource versioning
  • Circular reference in /Bulk endpoint

charon's People

Contributors

abilashini avatar anuradhask avatar ashensw avatar bojithapiyathilake avatar captain-p-goldfish avatar cdwijayarathna avatar darshanasbg avatar dependabot-support avatar dmhp avatar emswbandara avatar gangani avatar gayanm avatar hasinthaindrajee avatar hpmtissera avatar isurad avatar isurangaperera avatar johannnallathamby avatar madurangasiriwardena avatar nipunthilakshan avatar omindu avatar pasinduyeshan avatar piraveena avatar pulasthi7 avatar rashmini avatar sarubi avatar sebastianloesch avatar somindatommy avatar thanujalk avatar vindulamj avatar wso2-jenkins-bot avatar

Watchers

 avatar

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.