SlideShare a Scribd company logo
WSO2 Charon
Open Source SCIM Implementation offered under Apache 2.0 license.
Overview
Charon-Core
This is the library that implements the SCIM specification and provides user-
friendly APIs for implementing SCIM Consumers and Service Providers.

i). SCIM Consumer

API – SCIMClient

API used to:
        → Create, Encode SCIM objects
        → Set attributes
        → Decode responses (resources, exceptions)
Charon-Core
ii). SCIM Service Provider

API – ResourceEndpoints

API 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
Charon-Core
Design of Core

   → Creation of SCIM Objects & Attributes in a generic way s.t :

       → Can be encoded/decoded in a generic way
       → Adhering to schema.
Charon-Core
Design of Core (Cont ..)
Charon-Core
Extension Points
(You can plugin your own implementations for the following extension points to be
used with charon-core)

→ CharonManager

→ AuthenticationHandler

→ UserManager

→ AbstractSCIMObject

→ AbstractAttribute

→ Encoder/Decoder
Charon-Utils

This module provides default implementations for the extension points and some
utils for reference implementation of WSO2 Charon project- which is charon-impl.

→ JAXRS ResponseBuilder

→ DefaultCharonManager

→ BasicAuthHandler

→ InMemoryUserManager

→ CharonConfig
Charon-Impl
→ JAXRS based Resources.
      → UserResource
      → GroupResource

→ DefaultCharonManager for initializing extension points through configuration.
SCIM Endpoints


SCIM endpoints based on Charon-Impl:

(When Charon-Impl is hosted in a servlet container like Apache Tomcat)

http://localhost:8080/charonDemoApp/scim/Users
http://localhost:8080/charonDemoApp/scim/Groups

SCIM endpoints based on WSO2 Identity Server 4.0.0:

http://localhost:9443/wso2/scim/Users
http://localhost:9443/wso2/scim/Groups
Charon-Samples


→ Apache Wink based client which uses SCIMClient API of Charon-Core.

→ CharonResponseHandler – implementing wink ClientHandler to intercept
responses and decode exceptions.

→ Separate sample clients for all most all the operations supported by Charon-Core
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.
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
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.
Integration with WSO2 Identity Server and
            Stratos – Identity Service in Cloud




LDAP   Provisioning
       system




           Internal
             apps
                                        Other cloud
                                        apps/services

More Related Content

What's hot

2022 APIsecure_The Real World, API Security Edition
2022 APIsecure_The Real World, API Security Edition2022 APIsecure_The Real World, API Security Edition
2022 APIsecure_The Real World, API Security Edition
APIsecure_ Official
 
Cryptocurrency
CryptocurrencyCryptocurrency
Cryptocurrency
ShreeharshKankubji
 
security and privacy-Internet of things
security and privacy-Internet of thingssecurity and privacy-Internet of things
security and privacy-Internet of things
sreelekha appakondappagari
 
Cryptocurrency and Bitcoin
Cryptocurrency and BitcoinCryptocurrency and Bitcoin
Cryptocurrency and Bitcoin
Utkarsh Singh
 
The internet of things.pptx
The internet of things.pptxThe internet of things.pptx
The internet of things.pptx
LamisaFaria
 
Decentralized Autonomous Organizations: Concept & Practical Examples
Decentralized Autonomous Organizations: Concept & Practical ExamplesDecentralized Autonomous Organizations: Concept & Practical Examples
Decentralized Autonomous Organizations: Concept & Practical Examples
Jan Brejcha
 
Core Banking Transformation: Solutions to Standardize Processes and Cut Costs
Core Banking Transformation: Solutions to Standardize Processes and Cut CostsCore Banking Transformation: Solutions to Standardize Processes and Cut Costs
Core Banking Transformation: Solutions to Standardize Processes and Cut Costs
IBM Banking
 
Presentation on cryptocurrency
Presentation on cryptocurrencyPresentation on cryptocurrency
Presentation on cryptocurrency
Dhruv Gandhi
 
UPI Technology
UPI TechnologyUPI Technology
UPI Technology
indiastack
 
GDC Coin- Specialized Analysis For Professional Cryptocurrency Trading
GDC Coin- Specialized Analysis For Professional Cryptocurrency TradingGDC Coin- Specialized Analysis For Professional Cryptocurrency Trading
GDC Coin- Specialized Analysis For Professional Cryptocurrency Trading
Ajit Patil
 
IoT Security
IoT SecurityIoT Security
5. Core Banking System
5. Core Banking System5. Core Banking System
5. Core Banking System
Ashish Desai
 
Mobile wallets Analysis - Evolution, Scope & Future in India
 Mobile wallets Analysis - Evolution, Scope & Future in India Mobile wallets Analysis - Evolution, Scope & Future in India
Mobile wallets Analysis - Evolution, Scope & Future in India
Rohit Namboodiri
 
Digital Payment Campaign
Digital Payment CampaignDigital Payment Campaign
Digital Payment Campaign
pankajkumar3274
 
Fintech and Transformation of the Financial Services Industry
Fintech and Transformation of the Financial Services IndustryFintech and Transformation of the Financial Services Industry
Fintech and Transformation of the Financial Services Industry
Robin Teigland
 
Ethereum
EthereumEthereum
Blockchain for IoT Security and Privacy: The Case Study of a Smart Home
Blockchain for IoT Security and Privacy: The Case Study of a Smart HomeBlockchain for IoT Security and Privacy: The Case Study of a Smart Home
Blockchain for IoT Security and Privacy: The Case Study of a Smart Home
Kishor Datta Gupta
 
IoT Security, Threats and Challenges By V.P.Prabhakaran
IoT Security, Threats and Challenges By V.P.PrabhakaranIoT Security, Threats and Challenges By V.P.Prabhakaran
IoT Security, Threats and Challenges By V.P.Prabhakaran
Koenig Solutions Ltd.
 
Blockchain startup
Blockchain startupBlockchain startup
Blockchain startup
Sota Watanabe
 
Unified Payments Interface (UPI)
Unified Payments Interface (UPI)Unified Payments Interface (UPI)
Unified Payments Interface (UPI)
Akash Kumar
 

What's hot (20)

2022 APIsecure_The Real World, API Security Edition
2022 APIsecure_The Real World, API Security Edition2022 APIsecure_The Real World, API Security Edition
2022 APIsecure_The Real World, API Security Edition
 
Cryptocurrency
CryptocurrencyCryptocurrency
Cryptocurrency
 
security and privacy-Internet of things
security and privacy-Internet of thingssecurity and privacy-Internet of things
security and privacy-Internet of things
 
Cryptocurrency and Bitcoin
Cryptocurrency and BitcoinCryptocurrency and Bitcoin
Cryptocurrency and Bitcoin
 
The internet of things.pptx
The internet of things.pptxThe internet of things.pptx
The internet of things.pptx
 
Decentralized Autonomous Organizations: Concept & Practical Examples
Decentralized Autonomous Organizations: Concept & Practical ExamplesDecentralized Autonomous Organizations: Concept & Practical Examples
Decentralized Autonomous Organizations: Concept & Practical Examples
 
Core Banking Transformation: Solutions to Standardize Processes and Cut Costs
Core Banking Transformation: Solutions to Standardize Processes and Cut CostsCore Banking Transformation: Solutions to Standardize Processes and Cut Costs
Core Banking Transformation: Solutions to Standardize Processes and Cut Costs
 
Presentation on cryptocurrency
Presentation on cryptocurrencyPresentation on cryptocurrency
Presentation on cryptocurrency
 
UPI Technology
UPI TechnologyUPI Technology
UPI Technology
 
GDC Coin- Specialized Analysis For Professional Cryptocurrency Trading
GDC Coin- Specialized Analysis For Professional Cryptocurrency TradingGDC Coin- Specialized Analysis For Professional Cryptocurrency Trading
GDC Coin- Specialized Analysis For Professional Cryptocurrency Trading
 
IoT Security
IoT SecurityIoT Security
IoT Security
 
5. Core Banking System
5. Core Banking System5. Core Banking System
5. Core Banking System
 
Mobile wallets Analysis - Evolution, Scope & Future in India
 Mobile wallets Analysis - Evolution, Scope & Future in India Mobile wallets Analysis - Evolution, Scope & Future in India
Mobile wallets Analysis - Evolution, Scope & Future in India
 
Digital Payment Campaign
Digital Payment CampaignDigital Payment Campaign
Digital Payment Campaign
 
Fintech and Transformation of the Financial Services Industry
Fintech and Transformation of the Financial Services IndustryFintech and Transformation of the Financial Services Industry
Fintech and Transformation of the Financial Services Industry
 
Ethereum
EthereumEthereum
Ethereum
 
Blockchain for IoT Security and Privacy: The Case Study of a Smart Home
Blockchain for IoT Security and Privacy: The Case Study of a Smart HomeBlockchain for IoT Security and Privacy: The Case Study of a Smart Home
Blockchain for IoT Security and Privacy: The Case Study of a Smart Home
 
IoT Security, Threats and Challenges By V.P.Prabhakaran
IoT Security, Threats and Challenges By V.P.PrabhakaranIoT Security, Threats and Challenges By V.P.Prabhakaran
IoT Security, Threats and Challenges By V.P.Prabhakaran
 
Blockchain startup
Blockchain startupBlockchain startup
Blockchain startup
 
Unified Payments Interface (UPI)
Unified Payments Interface (UPI)Unified Payments Interface (UPI)
Unified Payments Interface (UPI)
 

Viewers also liked

SCIM: Why It’s More Important, and More Simple, Than You Think - CIS 2014
SCIM: Why It’s More Important, and More Simple, Than You Think - CIS 2014SCIM: Why It’s More Important, and More Simple, Than You Think - CIS 2014
SCIM: Why It’s More Important, and More Simple, Than You Think - CIS 2014
Kelly Grizzle
 
Open Standard Based identity Provisioning System for Cloud
Open Standard Based identity Provisioning System for CloudOpen Standard Based identity Provisioning System for Cloud
Open Standard Based identity Provisioning System for Cloud
Prabath Siriwardena
 
Standardizing Identity Provisioning with SCIM
Standardizing Identity Provisioning with SCIMStandardizing Identity Provisioning with SCIM
Standardizing Identity Provisioning with SCIM
HasiniG
 
SCIM in the Real World: Adoption is Growing
SCIM in the Real World: Adoption is GrowingSCIM in the Real World: Adoption is Growing
SCIM in the Real World: Adoption is Growing
Kelly Grizzle
 
SCIM 2.0 - Choose your own identity adventure
SCIM 2.0 - Choose your own identity adventureSCIM 2.0 - Choose your own identity adventure
SCIM 2.0 - Choose your own identity adventure
Kelly Grizzle
 
RahasNym: Preventing Linkability in the Digital Identity Eco System
RahasNym: Preventing Linkability in the Digital Identity Eco SystemRahasNym: Preventing Linkability in the Digital Identity Eco System
RahasNym: Preventing Linkability in the Digital Identity Eco System
HasiniG
 
Enterprise Security and Identity Management Use Cases with WSO2 Identity Server
Enterprise Security and Identity Management Use Cases with WSO2 Identity ServerEnterprise Security and Identity Management Use Cases with WSO2 Identity Server
Enterprise Security and Identity Management Use Cases with WSO2 Identity Server
HasiniG
 
Master IAM in the Cloud with SCIM v2.0
Master IAM in the Cloud with SCIM v2.0Master IAM in the Cloud with SCIM v2.0
Master IAM in the Cloud with SCIM v2.0
Kelly Grizzle
 
Security in Practice
Security in PracticeSecurity in Practice
Security in Practice
Prabath Siriwardena
 
Jan19 scim webinar-04
Jan19 scim webinar-04Jan19 scim webinar-04
Jan19 scim webinar-04
Paul Madsen
 
Scim overview
Scim overviewScim overview
Scim overview
Morteza Ansari
 
Privacy Preserving Biometrics-Based and User Centric Authentication Protocol
Privacy Preserving Biometrics-Based and User Centric Authentication ProtocolPrivacy Preserving Biometrics-Based and User Centric Authentication Protocol
Privacy Preserving Biometrics-Based and User Centric Authentication Protocol
HasiniG
 
Towards a Federated Cloud Ecosystem
Towards a Federated Cloud EcosystemTowards a Federated Cloud Ecosystem
Towards a Federated Cloud Ecosystem
Clovis Chapman
 
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014Nov Matake
 
Spring Day | Identity Management with Spring Security | Dave Syer
Spring Day | Identity Management with Spring Security | Dave SyerSpring Day | Identity Management with Spring Security | Dave Syer
Spring Day | Identity Management with Spring Security | Dave Syer
JAX London
 

Viewers also liked (15)

SCIM: Why It’s More Important, and More Simple, Than You Think - CIS 2014
SCIM: Why It’s More Important, and More Simple, Than You Think - CIS 2014SCIM: Why It’s More Important, and More Simple, Than You Think - CIS 2014
SCIM: Why It’s More Important, and More Simple, Than You Think - CIS 2014
 
Open Standard Based identity Provisioning System for Cloud
Open Standard Based identity Provisioning System for CloudOpen Standard Based identity Provisioning System for Cloud
Open Standard Based identity Provisioning System for Cloud
 
Standardizing Identity Provisioning with SCIM
Standardizing Identity Provisioning with SCIMStandardizing Identity Provisioning with SCIM
Standardizing Identity Provisioning with SCIM
 
SCIM in the Real World: Adoption is Growing
SCIM in the Real World: Adoption is GrowingSCIM in the Real World: Adoption is Growing
SCIM in the Real World: Adoption is Growing
 
SCIM 2.0 - Choose your own identity adventure
SCIM 2.0 - Choose your own identity adventureSCIM 2.0 - Choose your own identity adventure
SCIM 2.0 - Choose your own identity adventure
 
RahasNym: Preventing Linkability in the Digital Identity Eco System
RahasNym: Preventing Linkability in the Digital Identity Eco SystemRahasNym: Preventing Linkability in the Digital Identity Eco System
RahasNym: Preventing Linkability in the Digital Identity Eco System
 
Enterprise Security and Identity Management Use Cases with WSO2 Identity Server
Enterprise Security and Identity Management Use Cases with WSO2 Identity ServerEnterprise Security and Identity Management Use Cases with WSO2 Identity Server
Enterprise Security and Identity Management Use Cases with WSO2 Identity Server
 
Master IAM in the Cloud with SCIM v2.0
Master IAM in the Cloud with SCIM v2.0Master IAM in the Cloud with SCIM v2.0
Master IAM in the Cloud with SCIM v2.0
 
Security in Practice
Security in PracticeSecurity in Practice
Security in Practice
 
Jan19 scim webinar-04
Jan19 scim webinar-04Jan19 scim webinar-04
Jan19 scim webinar-04
 
Scim overview
Scim overviewScim overview
Scim overview
 
Privacy Preserving Biometrics-Based and User Centric Authentication Protocol
Privacy Preserving Biometrics-Based and User Centric Authentication ProtocolPrivacy Preserving Biometrics-Based and User Centric Authentication Protocol
Privacy Preserving Biometrics-Based and User Centric Authentication Protocol
 
Towards a Federated Cloud Ecosystem
Towards a Federated Cloud EcosystemTowards a Federated Cloud Ecosystem
Towards a Federated Cloud Ecosystem
 
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
 
Spring Day | Identity Management with Spring Security | Dave Syer
Spring Day | Identity Management with Spring Security | Dave SyerSpring Day | Identity Management with Spring Security | Dave Syer
Spring Day | Identity Management with Spring Security | Dave Syer
 

Similar to WSO2 Charon

"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"
Volker Linz
 
FIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE Wednesday Webinars - How to Debug IoT AgentsFIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE
 
Tackle Containerization Advisor (TCA) for Legacy Applications
Tackle Containerization Advisor (TCA) for Legacy ApplicationsTackle Containerization Advisor (TCA) for Legacy Applications
Tackle Containerization Advisor (TCA) for Legacy Applications
Konveyor Community
 
OpenShift In a Nutshell - Episode 05 - Core Concepts Part I
OpenShift In a Nutshell - Episode 05 - Core Concepts Part IOpenShift In a Nutshell - Episode 05 - Core Concepts Part I
OpenShift In a Nutshell - Episode 05 - Core Concepts Part I
Behnam Loghmani
 
DEVNET-1128 Cisco Intercloud Fabric NB Api's for Business & Providers
DEVNET-1128	Cisco Intercloud Fabric NB Api's for Business & ProvidersDEVNET-1128	Cisco Intercloud Fabric NB Api's for Business & Providers
DEVNET-1128 Cisco Intercloud Fabric NB Api's for Business & Providers
Cisco DevNet
 
MicroProfile, Docker, Kubernetes, Istio and Open Shift lab @dev nexus
MicroProfile, Docker, Kubernetes, Istio and Open Shift lab @dev nexusMicroProfile, Docker, Kubernetes, Istio and Open Shift lab @dev nexus
MicroProfile, Docker, Kubernetes, Istio and Open Shift lab @dev nexus
Emily Jiang
 
Containerless in the Cloud with AWS Lambda
Containerless in the Cloud with AWS LambdaContainerless in the Cloud with AWS Lambda
Containerless in the Cloud with AWS Lambda
Ryan Cuprak
 
Red Hat and kubernetes: awesome stuff coming your way
Red Hat and kubernetes:  awesome stuff coming your wayRed Hat and kubernetes:  awesome stuff coming your way
Red Hat and kubernetes: awesome stuff coming your way
Johannes Brännström
 
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 PreviewCloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
Chip Childers
 
Broadcast Music Inc - Release Automation Rockstars!
Broadcast Music Inc - Release Automation Rockstars!Broadcast Music Inc - Release Automation Rockstars!
Broadcast Music Inc - Release Automation Rockstars!
ghodgkinson
 
.NET Core Apps: Design & Development
.NET Core Apps: Design & Development.NET Core Apps: Design & Development
.NET Core Apps: Design & Development
GlobalLogic Ukraine
 
Operator SDK for K8s using Go
Operator SDK for K8s using GoOperator SDK for K8s using Go
Operator SDK for K8s using Go
CloudOps2005
 
Deltacloud API
Deltacloud APIDeltacloud API
Deltacloud API
Michal Fojtik
 
Debugging Microservices - QCON 2017
Debugging Microservices - QCON 2017Debugging Microservices - QCON 2017
Debugging Microservices - QCON 2017
Idit Levine
 
Kotlin server side frameworks
Kotlin server side frameworksKotlin server side frameworks
Kotlin server side frameworks
Ken Yee
 
Docker discovery service
Docker   discovery serviceDocker   discovery service
Docker discovery service
Mohammadreza Amini
 
Externalized Spring Boot App Configuration
Externalized  Spring Boot App ConfigurationExternalized  Spring Boot App Configuration
Externalized Spring Boot App Configuration
Haufe-Lexware GmbH & Co KG
 
SkyeCORE - Rev Up Your OSGi Services!
SkyeCORE - Rev Up Your OSGi Services!SkyeCORE - Rev Up Your OSGi Services!
SkyeCORE - Rev Up Your OSGi Services!
Wayne Williams
 
The use of Symfony2 @ Overblog
The use of Symfony2 @ OverblogThe use of Symfony2 @ Overblog
The use of Symfony2 @ Overblog
Xavier Hausherr
 
Apache cloud stack 4.1 new features deep dive
Apache cloud stack 4.1 new features deep diveApache cloud stack 4.1 new features deep dive
Apache cloud stack 4.1 new features deep dive
ShapeBlue
 

Similar to WSO2 Charon (20)

"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"
 
FIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE Wednesday Webinars - How to Debug IoT AgentsFIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE Wednesday Webinars - How to Debug IoT Agents
 
Tackle Containerization Advisor (TCA) for Legacy Applications
Tackle Containerization Advisor (TCA) for Legacy ApplicationsTackle Containerization Advisor (TCA) for Legacy Applications
Tackle Containerization Advisor (TCA) for Legacy Applications
 
OpenShift In a Nutshell - Episode 05 - Core Concepts Part I
OpenShift In a Nutshell - Episode 05 - Core Concepts Part IOpenShift In a Nutshell - Episode 05 - Core Concepts Part I
OpenShift In a Nutshell - Episode 05 - Core Concepts Part I
 
DEVNET-1128 Cisco Intercloud Fabric NB Api's for Business & Providers
DEVNET-1128	Cisco Intercloud Fabric NB Api's for Business & ProvidersDEVNET-1128	Cisco Intercloud Fabric NB Api's for Business & Providers
DEVNET-1128 Cisco Intercloud Fabric NB Api's for Business & Providers
 
MicroProfile, Docker, Kubernetes, Istio and Open Shift lab @dev nexus
MicroProfile, Docker, Kubernetes, Istio and Open Shift lab @dev nexusMicroProfile, Docker, Kubernetes, Istio and Open Shift lab @dev nexus
MicroProfile, Docker, Kubernetes, Istio and Open Shift lab @dev nexus
 
Containerless in the Cloud with AWS Lambda
Containerless in the Cloud with AWS LambdaContainerless in the Cloud with AWS Lambda
Containerless in the Cloud with AWS Lambda
 
Red Hat and kubernetes: awesome stuff coming your way
Red Hat and kubernetes:  awesome stuff coming your wayRed Hat and kubernetes:  awesome stuff coming your way
Red Hat and kubernetes: awesome stuff coming your way
 
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 PreviewCloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
 
Broadcast Music Inc - Release Automation Rockstars!
Broadcast Music Inc - Release Automation Rockstars!Broadcast Music Inc - Release Automation Rockstars!
Broadcast Music Inc - Release Automation Rockstars!
 
.NET Core Apps: Design & Development
.NET Core Apps: Design & Development.NET Core Apps: Design & Development
.NET Core Apps: Design & Development
 
Operator SDK for K8s using Go
Operator SDK for K8s using GoOperator SDK for K8s using Go
Operator SDK for K8s using Go
 
Deltacloud API
Deltacloud APIDeltacloud API
Deltacloud API
 
Debugging Microservices - QCON 2017
Debugging Microservices - QCON 2017Debugging Microservices - QCON 2017
Debugging Microservices - QCON 2017
 
Kotlin server side frameworks
Kotlin server side frameworksKotlin server side frameworks
Kotlin server side frameworks
 
Docker discovery service
Docker   discovery serviceDocker   discovery service
Docker discovery service
 
Externalized Spring Boot App Configuration
Externalized  Spring Boot App ConfigurationExternalized  Spring Boot App Configuration
Externalized Spring Boot App Configuration
 
SkyeCORE - Rev Up Your OSGi Services!
SkyeCORE - Rev Up Your OSGi Services!SkyeCORE - Rev Up Your OSGi Services!
SkyeCORE - Rev Up Your OSGi Services!
 
The use of Symfony2 @ Overblog
The use of Symfony2 @ OverblogThe use of Symfony2 @ Overblog
The use of Symfony2 @ Overblog
 
Apache cloud stack 4.1 new features deep dive
Apache cloud stack 4.1 new features deep diveApache cloud stack 4.1 new features deep dive
Apache cloud stack 4.1 new features deep dive
 

WSO2 Charon

  • 1. WSO2 Charon Open Source SCIM Implementation offered under Apache 2.0 license.
  • 3. Charon-Core This is the library that implements the SCIM specification and provides user- friendly APIs for implementing SCIM Consumers and Service Providers. i). SCIM Consumer API – SCIMClient API used to: → Create, Encode SCIM objects → Set attributes → Decode responses (resources, exceptions)
  • 4. Charon-Core ii). SCIM Service Provider API – ResourceEndpoints API 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. Charon-Core Design of Core → Creation of SCIM Objects & Attributes in a generic way s.t : → Can be encoded/decoded in a generic way → Adhering to schema.
  • 7. Charon-Core Extension Points (You can plugin your own implementations for the following extension points to be used with charon-core) → CharonManager → AuthenticationHandler → UserManager → AbstractSCIMObject → AbstractAttribute → Encoder/Decoder
  • 8. Charon-Utils This module provides default implementations for the extension points and some utils for reference implementation of WSO2 Charon project- which is charon-impl. → JAXRS ResponseBuilder → DefaultCharonManager → BasicAuthHandler → InMemoryUserManager → CharonConfig
  • 9. Charon-Impl → JAXRS based Resources. → UserResource → GroupResource → DefaultCharonManager for initializing extension points through configuration.
  • 10. SCIM Endpoints SCIM endpoints based on Charon-Impl: (When Charon-Impl is hosted in a servlet container like Apache Tomcat) http://localhost:8080/charonDemoApp/scim/Users http://localhost:8080/charonDemoApp/scim/Groups SCIM endpoints based on WSO2 Identity Server 4.0.0: http://localhost:9443/wso2/scim/Users http://localhost:9443/wso2/scim/Groups
  • 11. Charon-Samples → Apache Wink based client which uses SCIMClient API of Charon-Core. → CharonResponseHandler – implementing wink ClientHandler to intercept responses and decode exceptions. → Separate sample clients for all most all the operations supported by Charon-Core
  • 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. 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. 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. Integration with WSO2 Identity Server and Stratos – Identity Service in Cloud LDAP Provisioning system Internal apps Other cloud apps/services