Giter Club home page Giter Club logo

scim's Introduction

Maven Central Javadocs

SCIM 1.1 SDK for Java

This is UnboundID's open source Java SDK for the 1.1 version of the SCIM specification. Use it to create client applications that communicate with the UnboundID Data Store and any 3rd party SCIM 1.1-compliant service provider.

About SCIM 1.1

The System for Cross-domain Identity Management (SCIM) specification is designed to make managing user identities in cloud-based applications and services easier. The specification suite seeks to build upon experience with existing schemas and deployments, placing specific emphasis on simplicity of development and integration, while applying existing authentication, authorization, and privacy models. Its intent is to reduce the cost and complexity of user management operations by providing a common user schema and extension model, as well as binding documents to provide patterns for exchanging this schema using standard protocols. In essence: make it fast, cheap, and easy to move users in to, out of, and around the cloud.

See the SCIM 1.1 Core Schema and SCIM 1.1 Protocol specifications for more information.

Getting started

This SDK contains utilities for interacting with different types of SCIM Endpoints, Resources, Schemas, Attributes, Filters, and other objects. The SCIMService and SCIMEndpoint classes provide a starting point for connecting to a REST endpoint and issuing queries or invoking SCIM operations on existing resources.

Release notes can be found in Release-Notes.txt.

Example

public class Client {
  public static void main (String[] args) {
    final URI uri = URI.create("https://example.com:443");
    final SCIMService scimService = new SCIMService(uri, "bjensen", "password");
    scimService.setAcceptType(MediaType.APPLICATION_JSON_TYPE);

    // Core user resource CRUD operation example
    final SCIMEndpoint<UserResource> endpoint = scimService.getUserEndpoint();

    // Query for a specified user
    Resources<UserResource> resources =
            endpoint.query("userName eq \"bjensen\"");
    if (resources.getItemsPerPage() == 0) {
      System.out.println("User bjensen not found");
      return;
    }
    UserResource user = resources.iterator().next();

    Name name = user.getName();
    if (name != null) {
      System.out.println(name);
    }

    Collection<Entry<String>> phoneNumbers = user.getPhoneNumbers();
    if (phoneNumbers != null) {
      for (Entry<String> phoneNumber : phoneNumbers) {
        System.out.println(phoneNumber);
      }
    }
  }
}

Maven coordinates

Check Maven Central for the latest available version of the SCIM 1.1 SDK.

<dependency>
    <groupId>com.unboundid.product.scim</groupId>
    <artifactId>scim-sdk</artifactId>
    <version>VERSION</version>
</dependency>

License

See the LICENSE.txt file for more info.

scim's People

Contributors

bertold avatar braveulysses avatar continuousintegrationunboundid avatar digitalperk avatar dougbulkley avatar dvernon-uid avatar henryrecker-unboundid avatar klgrizzle avatar lance-purple-unboundid avatar nprager avatar richardcardona avatar

Watchers

 avatar  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.