WSO2 Charon


Published on

WSO2 Charon is an open source implementation of System for Cross-Domain Identity Management specification.

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

WSO2 Charon

  1. 1. WSO2 CharonOpen Source SCIM Implementation offered under Apache 2.0 license.
  2. 2. Overview
  3. 3. Charon-CoreThis is the library that implements the SCIM specification and provides user-friendly APIs for implementing SCIM Consumers and Service Providers.i). SCIM ConsumerAPI – SCIMClientAPI used to: → Create, Encode SCIM objects → Set attributes → Decode responses (resources, exceptions)
  4. 4. Charon-Coreii). SCIM Service ProviderAPI – ResourceEndpointsAPI provides: → Endpoints that performs CRUD operations on resources → Self contained SCIM responses → Easy to handle i/p and o/p by any REST implementation. → Extension points → JSON encoding/decoding
  5. 5. Charon-CoreDesign of Core → Creation of SCIM Objects & Attributes in a generic way s.t : → Can be encoded/decoded in a generic way → Adhering to schema.
  6. 6. Charon-CoreDesign of Core (Cont ..)
  7. 7. Charon-CoreExtension Points(You can plugin your own implementations for the following extension points to beused with charon-core)→ CharonManager→ AuthenticationHandler→ UserManager→ AbstractSCIMObject→ AbstractAttribute→ Encoder/Decoder
  8. 8. Charon-UtilsThis module provides default implementations for the extension points and someutils for reference implementation of WSO2 Charon project- which is charon-impl.→ JAXRS ResponseBuilder→ DefaultCharonManager→ BasicAuthHandler→ InMemoryUserManager→ CharonConfig
  9. 9. Charon-Impl→ JAXRS based Resources. → UserResource → GroupResource→ DefaultCharonManager for initializing extension points through configuration.
  10. 10. SCIM EndpointsSCIM endpoints based on Charon-Impl:(When Charon-Impl is hosted in a servlet container like Apache Tomcat)http://localhost:8080/charonDemoApp/scim/Usershttp://localhost:8080/charonDemoApp/scim/GroupsSCIM endpoints based on WSO2 Identity Server 4.0.0:http://localhost:9443/wso2/scim/Usershttp://localhost:9443/wso2/scim/Groups
  11. 11. Charon-Samples→ Apache Wink based client which uses SCIMClient API of Charon-Core.→ CharonResponseHandler – implementing wink ClientHandler to interceptresponses and decode exceptions.→ Separate sample clients for all most all the operations supported by Charon-Core
  12. 12. Features of Milestone 1 of 1.0 Release:• Client: Y• Server: Y• Supported version: 1.0• Represenation: JSON• Authentication: HTTP Basic Authentication• Supported User Operations Create (POST) Update (PUT) Retrieve (GET) List (GET) Delete (DELETE)• Supported Group Operations Create (POST) Update (PUT) Retrieve (GET) List (GET) Delete (DELETE)• Other considerations: User Name is required when creating a user. At least one existing member id should be provided when creating a group.
  13. 13. Features of 1.0.0 Release:• Client: Y, Server: Y• Represenation: JSON• Supported version: 1.1• Authentication: HTTP Basic Authentication• Supported User Operations Create (POST) Update (PUT) Retrieve (GET) List (GET) Delete (DELETE) Filter based on user name• Supported Group Operations Create (POST) Update (PUT) Retrieve (GET) List (GET) Delete (DELETE) Filter based on group name• Other features/improvements: Configuration file for registering SCIM Providers/Consumers Attribute URI support Improved Unit tests
  14. 14. WSO2 Charon – Success Story→ Participated in two interoperability events: - at IETF - 83rd meeting - at IIW 14 and successfully inter-operated with other SCIM implementations.→ Integrated with WSO2 Identity Server 4.0.0 in its identity provisioning feature, with multi-tenancy support as well for cloud deployments.
  15. 15. Integration with WSO2 Identity Server and Stratos – Identity Service in CloudLDAP Provisioning system Internal apps Other cloud apps/services