Need some help in reviewing/ improving security architecture that we have.
This is kind of architecture that we have
The user login flow is KeyCloak backed by AD. When a user logins to the apring app, we authenticate him via AD, and sync the user in the Keycloak. However, for any user to be onboarded on the platform, the user has to login first.
Our keycloak is actually used by other entities as well, user still need to exist in the system even if he hasn't finished onboarding process.
Does Azure AD provide any functionality that will let us sync all the users from AD into keycloak while starting their onboarding? Any API's or export/import functionality that can help us?
Is there any alternate approach/pattern that we can follow in this case?
Any help in this regard is really appreciated.
Update
This is what we are trying to build. we changed architecture a little bit. Now keycloak can exist, but primary auth brokers will be Azure AD in both cases.
Here it is -
However one question remains - For seemless user experience, Organization app will need to make calls to wallet API's. To make these API calls we will need access token from Wallet AD. Considering that the trust is build, I assume that the users will be trusted. However, I am not able understand how we will aquire the token from Wallet AD without client activity.