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:52]
poulm grammar
devel:documentation:modules_scim [2020/03/22 14:55]
poulm installation moved to tutorial
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 124: Line 82:
   * ''Group'' - ''externalId'', ''displayName''   * ''Group'' - ''externalId'', ''displayName''
  
-Filter supports equals (''eq'') operator and ''AND'' clause only. When other operator or clause is used, then the unsupported operation will be thrown. Pagination ''startIndex'' and ''count'' parameter can be used. ''startIndex'' parameter is the 1-based index of the first query result. Start index has to be the first index on the page (n * count + 1), exception with code ''FIND\_START\_INDEX\_INVALID'' is thrown otherwise (CzechIdM can paginate by the whole page only). The filter parameter has to be URL encoded.+Filter supports equals (''eq'') operator and ''AND'' clause only. When other operator or clause is used, then the unsupported operation will be thrown. Pagination ''startIndex'' and ''count'' parameter can be used. ''startIndex'' parameter is the 1-based index of the first query result. Start index has to be the first index on the page (n * count + 1), the exception with code ''FIND\_START\_INDEX\_INVALID'' is thrown otherwise (CzechIdM can paginate by the whole page only). The filter parameter has to be URL encoded.
  
 Standard CzechIdM filter properties can be used too, this is not in SCIM standard - e.g. ''<server>/api/v1/scim/Users?username=testOne'' is alias to SCIM standard ''<server>/api/v1/scim/Users?filter%3DuserName%20eq%20%22testOne%22''. Standard CzechIdM filter properties can be used too, this is not in SCIM standard - e.g. ''<server>/api/v1/scim/Users?username=testOne'' is alias to SCIM standard ''<server>/api/v1/scim/Users?filter%3DuserName%20eq%20%22testOne%22''.
Line 194: Line 152:
 ===== 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 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