Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
devel:documentation:modules_scim [2020/03/22 11:54]
poulm more grammer
devel:documentation:modules_scim [2020/03/22 15:03]
poulm API moved to separate page
Line 8: Line 8:
  
 Scim module exposes interface in CzechIdM by the SCIM 2.0 specification. Read more about SCIM [[http://www.simplecloud.info/| model, operations and endpoints]]. Scim module exposes interface in CzechIdM by the SCIM 2.0 specification. Read more about SCIM [[http://www.simplecloud.info/| model, operations and endpoints]].
-===== Installation ===== 
  
-==== Dependencies ==== 
- 
-We are using a third party library [[https://github.com/pingidentity/scim2|scim2-sdk-common]] under LGPLv2 license. This library contains very useful DTOs (scim standard resources) and filter parser. Rest endpoints are exposed by our devstack. 
- 
-Module can be installed both ways: 
- 
-==== Maven ==== 
- 
-This way is mainly for a developer when CzechIdM is opened in your favorite IDE. You can add maven dependency into **idm-app** pom.xml (or into other project-specific (and used) module pom.xml): 
- 
-<code xml> 
-<dependency> 
-  <groupId>eu.bcvsolutions.idm</groupId> 
-  <artifactId>idm-scim-impl</artifactId> 
-  <version>1.0.1</version> 
-</dependency> 
-</code> 
- 
-Third-party dependencies will be included automatically. 
- 
-Note: the module has to be built locally - available in [[https://git.bcvsolutions.eu/modules/scim|gitlab]] or access to our [[https://nexus.bcvsolutions.eu/#browse/browse/components:maven-modules-releases|nexus]] has to be granted and repository included in the same pom.xml: 
- 
-<code xml> 
-<repository> 
-  <id>nexus</id> 
-  <name>Nexus private modules</name> 
-  <url>https://nexus.bcvsolutions.eu/repository/maven-modules-releases/</url> 
-</repository> 
-</code> 
- 
-==== Standalone module ==== 
- 
-Module artefact (idm-scim-api, idm-scim-impl) can be downloaded from [[https://nexus.bcvsolutions.eu/#browse/browse/components:maven-modules-releases|nexus]] releases and copied into installed CzechIdM server libraries ''<server>/WEB-INF/lib''. 
- 
-Third party library ''scim2-sdk-common'' in version 2.1.3 has to be copied into CzechIdM server libraries ''<server>/WEB-INF/lib'' too. Library can be built from [[https://github.com/pingidentity/scim2|github]] or downloaded from a public maven repository (e.g. [[http://central.maven.org/maven2/com/unboundid/product/scim2/scim2-sdk-common/2.1.3/scim2-sdk-common-2.1.3.jar|central.maven.org]]). 
- 
-After module is installed, run the CzechIdm and enable module by GUI (Setting -> Modules) or by application properties: 
-<code properties> 
-# enable scim module by default 
-idm.pub.scim.enabled=true 
-</code> 
  
 ===== Architecture ===== ===== Architecture =====
Line 65: Line 23:
  
 Note: The same [[https://nexus.bcvsolutions.eu/#browse/browse/components:maven-modules-releases|nexus]] repository has to be configured and access has to be granted as above. Note: The same [[https://nexus.bcvsolutions.eu/#browse/browse/components:maven-modules-releases|nexus]] repository has to be configured and access has to be granted as above.
- 
-===== API ===== 
- 
-Scim base path is available at url ''<server>/api/v1/scim''. To simplify interoperability, SCIM provides three end points to discover supported features and specific attribute details:  
- 
-  * ''<server>/idm/api/v1/scim/ResourceTypes'' - An endpoint used to discover the types of resources available. 
-  * ''<server>/idm/api/v1/scim/Schemas'' - Introspect resources and attribute extensions. 
-  * ''<server>/idm/api/v1/scim/ServiceProviderConfig'' - Specification compliance, authentication schemes, data models. 
-  *  
-This endpoints are public - no authentication is needed. 
- 
-Resources are exposed on endpoints by resource types (authentication is needed): 
-  * ''<server>/idm/api/v1/scim/<resource_name>'' - endpoints for resources, uses hateoas standard. 
- 
  
 ==== Security ==== ==== Security ====
Line 194: Line 138:
 ===== Admin guide ===== ===== Admin guide =====
   * [[.adm:module_scim|SCIM module: Forming groups of users]]   * [[.adm:module_scim|SCIM module: Forming groups of users]]
 +===== Admin tutorials =====
 +  * [[ tutorial:adm:modules_scim_installation|Installation tutorial]]
 +
 +===== Devel guide =====
 +  * [[.dev:scim_api| SCIM API description]]
  
 ===== Devel tutorials ===== ===== Devel tutorials =====
-  * [[ tutorial:dev:scim_user_role ]] +  * [[ tutorial:dev:scim_user_role]] 
-  * [[ tutorial:dev:scim_form_value ]]+  * [[ tutorial:dev:scim_form_value]]
  
  
  • by poulm