Giter Site home page Giter Site logo

dmoidl / scim-sdk Goto Github PK

View Code? Open in Web Editor NEW

This project forked from captain-p-goldfish/scim-sdk

0.0 0.0 0.0 3.65 MB

a scim implementation as described in RFC7643 and RFC7644

Home Page: https://github.com/Captain-P-Goldfish/SCIM/wiki

License: BSD 3-Clause "New" or "Revised" License

Java 99.40% ANTLR 0.06% FreeMarker 0.54%

scim-sdk's Introduction

SCIM 2.0 Open Source Implementation

Branch Circle CI Status Code Coverage
master CircleCI codecov

This is an open source implementation of the SCIM (System for Cross-domain Identity Management) protocol that is defined by RFC7643 and RFC7644.

A simple description of SCIM can be found here http://www.simplecloud.info/

Create RESTful services with SCIM

SCIM is more than just users and groups. SCIM could be seen as a standardization of RESTful services and that is exactly what this library does offer: An API for defining dynamic endpoints on a RESTful basis compatible with any REST-framework on the market.

Define some JSON-schemas that describe the endpoint you want to create and get a lot of features that will support you during development.

This lib supports the full feature set of both client and server side of the SCIM specification.

What exactly is a RESTful service?

RESTful is not a standard but a convention for services that define the HTTP-Methods [POST, GET, UPDATE, DELETE] to manage resources on the server. Use this API to create such services and benefit from several features that make your life easier.

Documentation

for a documentation take a look into the github wiki https://github.com/Captain-P-Goldfish/SCIM/wiki

You will find a pretty detailed explanation on how to use the server implementation here: https://github.com/Captain-P-Goldfish/SCIM-SDK/wiki/How-to-use-the-server-implementation

And a pretty detailed explanation on how to use the client can be found here: https://github.com/Captain-P-Goldfish/SCIM-SDK/wiki/How-to-use-the-client-implementation

Note: You do not need to fork this project in order to make adjustments to the User-schema or the User-class implementation. Find a more detailed explanation in the wiki: best practices


This project requires JDK 8 or higher

<dependency>
    <groupId>de.captaingoldfish</groupId>
    <artifactId>scim-sdk-server</artifactId>
    <version>${project.version}</version>
</dependency>
<dependency>
    <groupId>de.captaingoldfish</groupId>
    <artifactId>scim-sdk-client</artifactId>
    <version>${project.version}</version>
</dependency>


Note: If the project does not compile within your IDE install the "lombok" plugin for your IDE and restart it.


Release Notes

To see the current release-notes take a look into the release section: https://github.com/Captain-P-Goldfish/SCIM-SDK/releases

Server implementation

This API is highly generic and allows the definition of your own schema representations for resources. You will even be able to override the default User or Group core schemata if you want to. This might be useful if you do not want to support attributes like "ims", "phoneNumbers" etc. All you need to do is simply to write two json documents.

  1. a schema definition that describes the resource you want to supply
  2. a resource type definition that describes the endpoint and the additional schema extensions that may be used within the schema definition

The following features are supported

for any registered resource

Additional supported features

Client implementation

The client implementation supports the following SCIM requests

  • create
  • read
  • list
  • update
  • delete
  • bulk
  • patch

there is also direct native support for easy use of basic authentication and X509 client authentication. All other authentication types must be implemented manually.


Automatic-Module-Names for Jigsaw:

de.captaingoldfish.scim.sdk.common
de.captaingoldfish.scim.sdk.server
de.captaingoldfish.scim.sdk.client


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.