KRYSTALM7 opened a new pull request, #53: URL: https://github.com/apache/fineract-loan-origination/pull/53
## Summary Implements authentication for LOS customers (loan applicants). Customer identity and credentials are fully owned by LOS. Staff/backoffice authentication is handled separately and delegates to Fineract; that work is tracked in a separate issue. **JIRA:** [FINERACT-2442](https://issues.apache.org/jira/browse/FINERACT-2442) ## Changes - `POST /api/v1/auth/login` accepts `username`, `password`, `tenantId` - Credentials verified locally against `customer_credentials` table using BCrypt (no Fineract call in this flow) - On success, resolves the customer's `fineractClientId` for row-level data scoping - Issues a 15-minute JWT containing `clientId`, `tenantId`, `correlationId` - `JwtAuthFilter` validates the JWT on all `/api/v1/customer/**` requests - Adds `AuthController`, `AdminCustomerController`, `CustomerCredential` entity, `CustomerCredentialRepository` - New Flyway migration `V7__create_customer_credentials.sql` ## Testing - Unit tests covering: valid login, wrong password, unknown username, expired JWT - Manually verified end-to-end against a local Fineract instance with `FINERACT_MOCK_ENABLED=true` - `mvnw clean verify -DskipTests` — passes - `mvnw apache-rat:check` — no issues found - `mvnw spotless:apply` — all files clean ## Related issues Closes #51 Closes #52 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
