We are looking into setting up flowable admin app in our landscape for connecting to java microservices, that provide flowable REST API.
For authentication and authorization of requests to the flowable admin application, we are using JWT access token issued by OAuth2 authorization server.
I am trying to package some minimal flowable admin backend and I tried using only flowable-spring-boot-starter-ui-admin. The trouble is that, it seems to fall back to hard-coded Remote IDM Service implementation, which tries to implement some proprietary communication to Flowable IDM app.
Adding the flowable IDM starter drags the whole IDM along, which we do not need.
The question is, that I am wondering is, why is this hard dependency?
We added a fake GroupServiceImpl class in our project and implemented the required RemoteIdmService and IdmIdentityService beans, which do not have any implementation (throw an unsupported exception) and everything works since we use JWT provided user and authorities (groups) and we do not need any IDM functionality.
Could we refactor it in a way, that org.flowable.ui.common.service.idm.RemoteIDMServiceImpl is instantiated as a fallback only if a custom implementation is not provided?