Cornelsen and DAASI International got together and created a SCIM interface for midPoint. This is a nice example of open source community creating an ecosystem around midPoint.
As I have mentioned before, we have some reservations about SCIM and we do not plan to develop a SCIM interface for midPoint. But, midPoint is an open source project with a vibrant community. Community is free to develop components that we are not going to develop. And that is exactly what happened. Cornelsen and DAASI have developed SCIM interface for midPoint.
The solution has two parts:
- SCIM Service in a form of midPoint overlay project. This code adds SCIM REST service to midPoint server. The code can be quite simple, as midPoint schema is quite similar to SCIM schema. The server seems to support schema extensions properly. Although we have not tested the code, it looks that it may work. Despite our reservations about SCIM, we fully acknowledge that this code may be useful for some use cases.
- SCIM-based connector for GLUU. This is an ConnId connector that is using SCIM client code from GLUU project. It is built to provision identities to GLUU server, but it looks like the authors have ambition (or hope) for reusability of the connector to other SCIM-enabled applications.
Overall, we expect that more work will be needed for these components to be really reusable. But this is quite a nice start and we are confident that the authors can maintain and extend it as necessary. This is also a very interesting experiment regarding the use of SCIM. We will be listening to the community here and we will see how you are going to use these SCIM components. In case these components will get popular, we will consider adopting them into midPoint core product (provided the original authors agree, of course).
Whatever the outcome of this SCIM experiment might be, we are happy already. The mere existence of this contribution shows the power of open source community and the freedom that open source software provides. Moments like this make our work worthwhile.