+1 This is long anticipated and I look forward to seeing it used.
On Thu, Sep 11, 2025 at 6:28 AM Mihaly Dallos <mihaly_dal...@docktape.com> wrote: > Fantastic news! > Thank you, Adam, Csenge! > > On Thu, Sep 11, 2025 at 1:45 PM Paul <pchristi...@gmail.com> wrote: > >> 🔥👍🔥 >> >> This is awesome! Thanks >> Paul >> >> On Thu, Sep 11, 2025 at 5:53 AM Ádám Sághy <adamsa...@gmail.com> wrote: >> >>> Dear Fineract Community, >>> >>> We are pleased to share that the first stage of implementing OAuth 2.1 >>> with PKCE in Fineract has been completed. A special thanks goes to *Csenge >>> Soti*, who carried out the majority of the implementation. >>> >>> *Kindly review the following PR:* >>> https://github.com/apache/fineract/pull/5028 >>> >>> *Key changes included in this PR:* >>> • Removal of custom OAuth components (e.g., OauthAuthenticationProvider) >>> • Removal of outdated and unmaintained Apache Oltu dependencies >>> • Integration of a minimal Spring Authorization Server configuration as >>> a default part of Fineract >>> • Support for OAuth 2.1 Authorization Code flow with PKCE >>> • Introduction of a minimal login page, allowing authentication via >>> tenant identifier, username, and password >>> >>> *Additional improvements delivered in this stage:* >>> • Removal of the deprecated InsecureTwoFactorFilter workaround >>> • Alignment of filters and features previously available only for HTTP >>> Basic authentication, including: >>> • Geolocation filter >>> • Loan COB filter >>> • Business date filter >>> • Idempotency filter >>> • Correlation ID filter >>> >>> *Potential next steps:* >>> • Introduce further configuration and extensibility options, such as: >>> • CSRF and CORS settings >>> • Third-party authorization server support >>> • Confidential client authentication >>> • Potential OpenID support >>> >>> We would be happy to collaborate with and welcome contributions from the >>> community on these next items. Your feedback, ideas, and participation will >>> be invaluable in shaping the continued development of OAuth 2.1 support in >>> Fineract. >>> >>> Regards, >>> Adam >>> >>> Sent from my iPhone >>> >>> On 30 Jul 2025, at 14:16, Ádám Sághy <adamsa...@gmail.com> wrote: >>> >>> >>> >>> Hi dear Fineract community, >>> >>> As part of FINERACT-1908 >>> <https://issues.apache.org/jira/browse/FINERACT-1908>, I’d like to >>> share some exciting plans regarding the upcoming revamp of our OAuth >>> functionality, which is currently outdated and based on deprecated >>> components. >>> >>> We are working to replace the existing custom OAuth code with modern, >>> Spring-based solutions that support OAuth 2.1 and PKCE. Our approach will >>> leverage the following Spring modules: >>> >>> - >>> >>> *Resource server*: spring-boot-starter-oauth2-resource-server >>> - >>> >>> *OAuth2 client*: spring-boot-starter-oauth2-client >>> - >>> >>> *Authorization server* (drop-in default): >>> spring-boot-starter-oauth2-authorization-server >>> >>> Default Behavior >>> >>> By default, Fineract will act as both: >>> >>> - >>> >>> An *authorization server*, and >>> - >>> >>> A *resource server* >>> >>> However, this default setup will be configurable. You’ll be able to >>> disable the built-in authorization server and instead integrate with >>> third-party solutions such as Keycloak or any other OAuth-compliant >>> provider. >>> >>> Having a default authorization server ensures that Fineract can run >>> standalone without relying on external tools to support the full OAuth flow. >>> >>> We will configure OAuth 2.1 with PKCE in a way that fits well into the >>> Fineract architecture and provides strong security by default. >>> >>> - >>> >>> 📖 More about this flow: >>> >>> https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow-with-pkce >>> - >>> >>> 🧭 Example flow diagram: [image: PKCE flow] >>> >>> ------------------------------ >>> Phase 1 Deliverables >>> >>> We aim to complete the following in the first phase: >>> >>> - >>> >>> Remove custom OAuth components (e.g. OauthAuthenticationProvider, >>> etc.) >>> - >>> >>> Remove outdated and unmaintained Apache Oltu dependencies >>> - >>> >>> Integrate a minimal Spring Authorization Server configuration (as a >>> default part of Fineract) >>> - >>> >>> Support *OAuth 2.1 Authorization Code flow with PKCE* >>> - >>> >>> Provide a minimal login page to authenticate users using: *tenant >>> identifier + username + password* >>> >>> ------------------------------ >>> Authentication Details >>> >>> - >>> >>> During authorization, when Fineract acts as the *authorization >>> server*, the m_appuser table will be queried to validate credentials. >>> - >>> >>> The resulting access token will include both the *tenant identifier* >>> and *username*. >>> - >>> >>> When Fineract acts as a *resource server*, it will validate the >>> token and resolve the authenticated user by looking up the relevant >>> AppUser >>> in the database. >>> - >>> >>> *Roles and permissions* will (for now) continue to be handled >>> internally by Fineract based on the logged-in user and tenant context. >>> >>> For full context and tracking, please see the related JIRA tickets: >>> >>> - >>> >>> FINERACT-1908 <https://issues.apache.org/jira/browse/FINERACT-1908> >>> - >>> >>> FINERACT-1984 <https://issues.apache.org/jira/browse/FINERACT-1984> >>> >>> Looking forward to your feedback, thoughts, and any suggestions you may >>> have! >>> >>> Best regards, >>> >>> Adam >>> >>> >> >> -- >> -- >> Paul >> > > > -- > Mihaly >