Skip to content

A SCIM 2.0 (RFC 7642/7643/7644) client library for the Dart programming language

License

Notifications You must be signed in to change notification settings

audriga/scim-client-dart

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SCIM-CLIENT-DART

SCIM client library by audriga written in Dart


Table of Contents

  1. Info
  2. Capabilities
  3. SCIM CLI
    1. Info
    2. Usage
  4. Acknowledgements

Info

scim-client-dart is a Dart library which makes it easy to implement SCIM v2.0 clients.

It is built on the following IETF approved RFCs: RFC7642, RFC7643 and RFC7644

This is a work in progress project. It already works pretty well but some features will be added in the future and some bugs may still be around 😉

The scim-client-dart project currently includes the following:

  • A SCIM 2.0 client core library
  • An integrated CLI implementation

Capabilities

This library provides:

  • Standard SCIM resource Core User implementations
  • Standard CRUD operations on the above SCIM resource
  • An easily reusable code architecture for implementing SCIM clients

We plan to add support of other standard and custom SCIM resources soon

SCIM CLI

Info

  • This is a proof-of-concept SCIM client CLI implementation
  • You can use it for making basic CRUD operations on Core User resources on a SCIM v2.0 server
  • It supports JWT authentication

Usage

Call it with: dart run bin/scim-cli.dart ...

  • Set the SCIM server URL/token to use: dart run bin/scim-cli.dart --host my.scim.server.com --token jwt_token
  • Use SCIM server aliases
    • You can create aliases for your host/token combinations: dart run bin/scim-cli.dart addHostAlias --alias my-server --host my.scim.server.com --token jwt_token
    • You can use your aliases instead of specifying an server URL/token to use: dart run bin/scim-cli.dart getUser --hostalias my-server ...
    • Aliases are stored in ~/.scim-cli
  • Read all users: dart run bin/scim-cli.dart getAllUsers --hostalias my-server
  • Read one user: dart run bin/scim-cli.dart getUser --hostalias my-server --id user_id
  • Create a user: dart run bin/scim-cli.dart createUser --hostalias my-server --userName user_name --profileUrl user_profile --externalId user_id
    • Note that only userName, profileUrl and externalId properties are supported for now
    • We will enhance the user creation feature soon
  • Update a user: dart run bin/scim-cli.dart updateUser --hostalias my-server --id user_id --userName new_user_name --profileUrl new_user_profile --externalId new_external_id
  • Delete a user: dart run bin/scim-cli.dart deleteUser --hostalias my-server --id user_id

Acknowledgements

This software is part of the Open Provisioning Framework project that has received funding from the European Union's Horizon 2020 research and innovation program under grant agreement No. 871498.

About

A SCIM 2.0 (RFC 7642/7643/7644) client library for the Dart programming language

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages