Hello Alberto,
Thanks for working on this OIDC Federation feature, it enables SSO within a 
financial institution which is better for user management.
I think the auto-creation feature should not be included given the sensitive 
nature of a core banking application (CBA) in a bank.  
Implementing it can violate the Principle of Least Privilege (PoLP) 
(https://www.paloaltonetworks.com/cyberpedia/what-is-the-principle-of-least-privilege).
 To enforce optimal cybersecurity hygiene, access to the CBA should be 
restricted only to required personnel, regardless of their SSO status. 
Preventing the creation of superfluous accounts minimizes the bank's attack 
surface far more effectively than relying solely on least-privilege role 
assignments. 
SSO users can be setup via the Mifos UI or bulk import. I have seen financial 
institutions implement this approach in other applications.
Regards
Anu Omotayo

 

    On Thursday, May 28, 2026 at 06:30:51 PM GMT+1, Jose Alberto Hernandez 
<[email protected]> wrote:  
 
 Adam, thanks for the feedback and comments.
About the Auto User creation, one suggestion, we can allow the User creation, 
but someone else will need to enable the user, as kind of approve control.
And for the IdP options for now It was tested with Google and KeyCloak, we can 
test more, the main idea on this implementation is try to be IdP agnostic, to 
avoid to have custom implementations
BTW. We can Include in the Vote the initial list of the IdP vendors to be 
avallable
Thanks Best RegardsAlberto
On Thu, May 28, 2026 at 5:24 AM Ádám Sághy <[email protected]> wrote:


Hi Alberto,




Thank you for the proposal and the initial information.




Before we proceed with voting, I’d like to clarify a few points:




Automated User and Role Assignment




I’m not particularly fond of the idea of automating user creation and role 
assignments.




I can’t help but wonder how it could be abused if enabled or why we should even 
have something like that for Fineract.




I understand the convenience it offers, but I believe we need to be strict and 
explicit in implementing multiple validations to prevent accidental privilege 
escalation or ensuring those who shouldn’t have access are not granted access 
to Apache Fineract.




Considering Fineract is a core financial system, access and roles should be 
limited and strictly audited. I simply don’t see the need for automation in 
registering users and providing access.




I wonder what the community thinks about this.




Lookup by username vs email address




This part looks fine, we can have multiple unique identifiers to look up and 
map JWT token holder to Fineract user account, but again, we need to make sure 
the validation and look up methods are straightforward and explicit.




Multiple providers are listed




While I am okay to support multiple providers, but implementation wise, I don’t 
think we should target more than 1 or 2 at first, and the rest can be 
implemented based on need. I don’t want to introduce custom implementations 
into the system without maintainers who are interested in keeping up to date 
and using it in production.




What do you think?




Regards,

Adam



On May 26, 2026, at 3:22 AM, Jose Alberto Hernandez <[email protected]> 
wrote:
  Hello Fineract community,

  I would like to open a vote on FINERACT-2616: OIDC Federation Support for 
External Identity Providers

  This allows organizations with an existing corporate IdP (Keycloak, Google 
Workspace, Azure AD, Okta, Auth0) to enable SSO without forking authentication 
logic or maintaining a parallel user database. The feature is fully opt-in 
(fineract.security.oidc-federation.enabled=true) and does not affect existing 
Basic Auth or OAuth2 deployments.

  Fineract PR raised
  ---
  The core of this contribution is OidcAppUserResolutionServiceImpl, which 
bridges an external OIDC identity to a Fineract AppUser using a three-step 
strategy on every authenticated request:

  1. Lookup by username — using the configured usernameClaim (default: 
preferred_username)
  2. Fallback by email — matches users pre-existing in Fineract by their 
corporate email
  3. Auto-creation — when enabled via 
fineract.security.oidc-federation.auto-create-user=true, provisions a new 
AppUser on first login, assigned to the head office with the configured 
defaultRoles merged with any roles extracted from the OIDC token. Throws 
OidcUserNotFoundException when auto-create is disabled and no match is found.
  ---
  Please vote:

  [ ] +1  approve
  [ ] +0  no objection
  [ ] -1  object because:

  Thank you,
  Jose Alberto Hernandez


  

Reply via email to