174 Commits
Author SHA1 Message Date
Aditya ae7017ca81 @
feat(fundtransfer+imps+mfa): fund transfer module, IMPS switch client, MFA log API

- Fund transfer: NEFT/RTGS/IMPS/internal strategies, limit resolution, bulk
  transfer, verification tokens, suspense GL, recall/approval flow, jobs
- IMPS CBS switch client with crypto (JWT/envelope) and transaction domain
- MFA log read API (audit of MFA events)
- Liquibase migrations 0300-0311 for fund transfer / IMPS tables, permissions,
  roles, and suspense account
- JobName, SecurityConfig, dependencies.gradle wiring

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@
2026-06-01 12:18:30 +05:30
Aditya 28fa6d9615 Merge feature/Backend-DSC-MFA into feature/merge_update_code
Brings TOTP / Google Authenticator MFA factor (device mapping at
/v1/mfa/totp/setup + /verify, login via existing twofactor pipeline),
DSC-2FA login UI fix, Individual-only filter on guardian/nominee/family
link pickers, Title Case normalization on client names, and migration
0296 unique nominee per account type.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

# Conflicts:
#	.claude/settings.local.json
#	fineract-provider/logs/fineract.log
2026-05-15 17:54:49 +05:30
AdityaandClaude Opus 4.7 45a041b023 Add Google Authenticator (TOTP) as MFA factor: device mapping + login
Backend:
- New dependency dev.samstevens.totp:totp:1.7.1 (bundles ZXing for QR PNG).
- TotpService: secret/QR/otpauth-URL/verify primitives. SHA1, 6 digits, 30s —
  the standard combo every consumer authenticator app accepts unconfigured.
  Issuer label is configurable via FINERACT_MFA_TOTP_ISSUER, defaults to
  "CBSnexora".
- Two-step device mapping driven by TotpEnrollmentService:
  * POST /v1/mfa/totp/setup  — generate secret, upsert m_user_mfa_factor row
    as factor_type=TOTP/verified=false, return {secret, qrDataUri, otpAuthUrl,
    issuer, factorId}. Refuses to overwrite an already-verified-and-active
    factor so an accidental click can't unbind the user's working device.
  * POST /v1/mfa/totp/verify — body {code}; verify against the stored secret
    and flip verified=true on success.
- Login wiring in MfaFactorBackedTwoFactorServiceImpl:
  * getDeliveryMethodsForUser surfaces verified TOTP factors as
    {name:"totp", target:"Google Authenticator"} so the picker offers it
    alongside SMS/EMAIL.
  * createNewOTPToken("totp") creates a no-op OTPRequest (no LincPay/SMTP
    round-trip) carrying the factor id in the token field so validate can
    look up the secret.
  * createAccessTokenFromOTP branches on channel — TOTP path verifies code
    vs factor.secret with totp library (sliding 1-step window) and mints
    a TFAccessToken with the same lifetime + extended-token logic as OTP.
  * Defence-in-depth: re-checks at validate time that the factor still
    belongs to the user, is verified, and not disabled.
- TwoFactorConstants.TOTP_DELIVERY_METHOD_NAME = "totp".
- SecurityConfig: /api/*/mfa/totp/** is fullyAuthenticated() (exempt from
  the TFA gate so users can enrol before they can satisfy 2FA).

UI changes pending (see chat): add a "Google Authenticator" tile on the
MFA Factors settings page that calls /setup → shows QR + secret → calls
/verify; extend two-factor-authentication.component.ts iconFor() and copy
for the new "totp" delivery method. Existing requestOTP / validateOTP
pipeline handles the login flow transparently.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 17:41:55 +05:30
Nitesh Yadav 6b65bdc8ce merge feature/update_code and feature/Backend-MFA-Product branch code 2026-05-11 10:44:57 +05:30
Nitesh Yadav 2facd3744d update current product code and RD code 2026-04-15 20:34:12 +05:30
Aleksandar VidakovicandAleksandar Vidakovic ae3e2a6343 FINERACT-2245: New command processing - mix taxonomy 2026-02-18 20:26:51 +01:00
Adam Saghy 41cf451e13 FINERACT-2455: Add Working Capital Loan module 2026-02-18 15:19:56 +00:00
Jose Alberto HernandezandAleksandar Vidakovic 356dd07ca0 FINERACT-1932: Fineract modularization - fineract-security 2026-02-12 14:01:38 +01:00
Attila BudaiandAdam Saghy f83ea7ea15 FINERACT-2418: create the loan origination module 2026-01-19 14:14:20 +01:00
CsengeSótiandArnold Gálovics fa9c7b9364 FINERACT-1984: OAuth2.1 2025-09-12 14:58:37 +02:00
Adam Saghy 77f7d9aab8 FINERACT-2326: Use Hibernate Validator 2025-08-18 19:07:34 +02:00
Jose Alberto HernandezandArnold Gálovics 7452ea2552 FINERACT-1932: Fineract modularization - fineract-cob 2025-07-29 21:46:39 +02:00
viktorpavlenkoandAleksandar Vidakovic bb46397daa FINERACT-2238: New command processing - Business Date Management (org.apache.fineract.infrastructure.businessdate) 2025-06-26 00:49:05 +02:00
Aleksandar VidakovicandAleksandar Vidakovic 8d83b5547c FINERACT-2169: New command processing infrastructure 2025-04-22 21:50:28 +02:00
Adam Saghy 1f76a8aeb2 FINERACT-2262: Improve cache handling and add customization option 2025-04-15 19:45:42 +02:00
Arnold GalovicsandArnold Gálovics e0071715d2 Fixed caching request body 2024-09-17 18:39:49 +02:00
Jose Alberto HernandezandAdam Saghy 602ad4e953 FINERACT-2109: Lib dependencies and versions between modules 2024-07-24 10:23:33 +02:00
Jose Alberto HernandezandAdam Saghy 0292171f6f FINERACT-1932: Fineract modularization - fineract-tax 2024-06-17 23:06:07 +02:00
Jose Alberto HernandezandAdam Saghy 3b603f5e80 FINERACT-1932: Fineract modularization - fineract-report 2024-06-17 17:55:22 +02:00
Ruchi DhamankarandAdam Saghy 53f4864980 FINERACT-1932: Fineract modularization Fineract progressive loan module 2024-05-24 14:35:34 +02:00
Jose Alberto HernandezandAdam Saghy a3fb836b73 FINERACT-1932: Fineract modularization - fineract-charge 2024-05-21 22:53:36 +02:00
Jose Alberto HernandezandAdam Saghy abc7cec2ec FINERACT-1932: Fineract modularization - fineract-rates 2024-05-17 15:12:02 +02:00
Jose Alberto HernandezandAdam Saghy 2b9e114c05 FINERACT-1932: Fineract modularization - fineract-document 2024-04-19 15:32:04 +02:00
Jose Alberto HernandezandAdam Saghy d7a4e0e953 FINERACT-1932: Fineract modularization - fineract-branch 2024-04-09 20:25:24 +02:00
Jose Alberto HernandezandAdam Saghy f3710cda92 FINERACT-1932: Fineract modularization - fineract-accounting 2024-02-01 23:51:50 +01:00
Jose Alberto HernandezandAdam Saghy 02cf6749af FINERACT-1932: Fineract modularization - fineract-savings 2024-01-29 14:14:31 +01:00
Mend RenovateandArnold Gálovics e5ea0b812f Update non-major 2024-01-22 11:43:21 +01:00
Aleksandar VidakovicandAleksandar Vidakovic e4944c44d6 FINERACT-2009: Upgrade latest framework libs 2024-01-06 14:13:33 +01:00
Adam Saghy 834cfb6e27 Revert "FINERACT-1932: Fineract modularization - fineract-savings"
This reverts commit b9314d0b1e.
2023-12-15 18:48:44 +01:00
Jose Alberto HernandezandAdam Saghy b9314d0b1e FINERACT-1932: Fineract modularization - fineract-savings 2023-12-15 12:07:34 +01:00
Arnold GalovicsandArnold Gálovics f089f01116 Switched over to plain activemq client instead of the intermediary jakarta one 2023-11-22 19:51:44 +01:00
Mend RenovateandArnold Gálovics 3acb2b3c50 Update dependency software.amazon.msk:aws-msk-iam-auth to v2 2023-11-20 13:55:50 +01:00
Aleksandar VidakovicandAleksandar Vidakovic e2cf138437 FINERACT-1484: Micrometer Monitoring 2023-11-09 13:58:42 +01:00
Peter BagrijandArnold Gálovics 32945c6573 FINERACT-1824
- Kafka support for remote batch jobs: cob
 - Kafka support for external events
2023-07-24 09:48:31 +02:00
Mend RenovateandArnold Gálovics 191734461b Update non-major 2023-07-07 23:03:32 +02:00
Arnold GalovicsandArnold Gálovics 4211b9e8ea FINERACT-1724: Avoiding stackoverflowerror with GH builds 2023-06-15 11:37:55 +02:00
Arnold Galovicsandtaskain7 20c9c688ba FINERACT-1724: OpenAPI generator SnakeYaml dependency conflict fix 2023-06-07 17:14:59 +02:00
Arnold GalovicsandArnold Gálovics 76f6df746f FINERACT-1724: Swagger UI upgrade 2023-06-06 11:45:08 +02:00
Arnold GalovicsandArnold Gálovics bc4b707646 FINERACT-1724: Jakarta namespace introduction + relevant upgrades + EclipseLink 4 upgrade along with Spring Boot 3 2023-06-06 11:45:08 +02:00
Adam Saghy 2e3b96df19 FINERACT-1932: Add loan module (WIP) 2023-05-25 17:57:28 +02:00
Janos HaberandArnold Gálovics 240039f979 - [x] Create fineract-core module - used to common cross module classes and interfaces
- [x] Create fineract-investor module for build
- [x] modify tenant liquibase loader to using module based liquibase processing
- [x] sample liquibase into the fineract-investor module
- [x] Move NewCommandSourceHandler and dependencies to the fineract-core
2023-05-15 16:02:59 +02:00
Arnold GalovicsandArnold Gálovics f985e0101b Dependency fixes 2023-04-15 21:40:49 +02:00
Arnold GalovicsandArnold Gálovics 883761bd80 FINERACT-1724: Sampling support for performance measurements 2023-03-30 21:43:00 +02:00
Vic RomeroandArnold Gálovics fda35f22dd Add dependency management fix for publishing 2023-03-28 17:33:08 +02:00
Arnold GalovicsandAdam Saghy eb91d44c90 FINERACT-1724: JSON logging support 2023-03-27 16:03:39 +02:00
Janos HaberandArnold Gálovics e82c0cac52 FINERACT-1707 - Export refactor
[x] Refactor Datatable export
[x] Fix CSV exceptions
2023-01-19 15:45:48 +01:00
Janos HaberandArnold Gálovics 1a0d81dbb0 FINERACT-1707 - S3 upgrade
[x] Upgrade S3 dependencies and libraries without code modifications
2023-01-18 15:56:42 +01:00
Aleksandar VidakovicandAleksandar Vidakovic 5338263bd8 FINERACT-1794: Address improvement in file upload APIs 2022-11-23 20:28:50 +01:00
Aleksandar VidakovicandAleksandar Vidakovic 744abd1364 FINERACT-1795: Improve resilience of command processing service 2022-11-07 21:35:43 +01:00
Aleksandar VidakovicandAleksandar Vidakovic ba765f9b7a FINERACT-1758: Improve custom module example 2022-10-14 18:57:36 +02:00