Introduction to SCIMREST framework
The SCIMREST framework is ConnId connector framework, designed to provide a flexible and extensible base, implementing common reusable functionality for supported protocols and technologies, reducing the amount of code needed to write to implement connector
| Connector framework is still under development, so not all listed functionality is fully implemented yet, and some concept may change during development. |
What is the SCIMREST framework
The SCIMREST framework in midPoint is a low‑code scaffolding layer that lets you build a REST or SCIM‑based connector without writing a full Java connector from scratch. It sits above the generic ConnID infrastructure and below the concrete SCIMREST connector implementation.
| Goal | How the framework achieves it |
|---|---|
Rapid connector creation |
You supply a small declarative description (endpoint URL, authentication method, supported SCIM resource types, attribute mappings). The framework generates the necessary ConnID‑compatible connector code automatically. |
Standardized SCIM handling |
All SCIM‑specific details—HTTP verbs, JSON payload structures, pagination, bulk operations, error handling—are implemented once in the framework and reused by every connector built on top of it. |
Declerative REST handling |
All SCIM‑specific details—HTTP verbs, JSON payload structures, pagination, bulk operations, error handling—are described in declarative form and framework handles actual implementation and execution. |
Uniform ConnID contract |
The generated connector conforms to the ConnID SPI, so midPoint treats it exactly like any other ConnID connector (calls create, update, delete, search, etc.). This keeps the provisioning engine unchanged regardless of whether the underlying target is a classic LDAP connector or a SCIMREST connector. |
Configuration‑driven extensibility |
New SCIM resources can be added automaticly and customized by filling out a configuration file (or UI form) that describes the changes to discovered schema and any custom extensions. New REST resources can be added by filling out set of configuration files which describes the APIs for specified requests. No Java coding is required unless you need special behavior. |
A SCIMREST connector in midPoint acts as a translation layer between ConnId and actual SCIM or REST applications. When midPoint initiates a provisioning operation (create, update, delete, read, or search), the connector:
-
Maps the ConnId object model to the corresponding SCIM or REST resource representation (e.g., a
UserorGroupJSON payload). -
Constructs the appropriate HTTP request (POST for create, PATCH for update, DELETE for delete, GET for read/search) according to the SCIM 2.0 specification or description of REST resource.
-
Sends that request to the configured endpoint, handling authentication, headers, and any required query parameters.
-
Processes the response, converting the returned JSON back into ConnId format and propagating status or error information to the provisioning workflow.
Development guides
-
Develop REST connector using Groovy DSLs - Core SCIMREST framework concepts
-
Develop SCIM 2.0 connector - SCIM 2.0 specific development guide