honza-toegel / ebics-java-client

Java open source EBICS Web Client - Support for French, German and Swiss banks
GNU Lesser General Public License v2.1
3 stars 1 forks source link

EBICS Web Client

EBICS Web Client is a web UI which is used for exchanging of payments files via EBICS connection with the bank(s) supporting EBICS protocol.

Demo application

Check the following demo to get idea about functionality, here is the latest version of app deployed.

Demo

Wiki pages

Architecture & Functionality

Architecture

The web UI frontend uses REST API backend to execute EBICS orders. The core EBICS API is fork of the Java open source EBICS java client repository. Thanks a lot for all contributions, otherwise this repo would not be here :-)

Main differences with this fork:

Security & Authentication

The REST backend application use standard spring security, which is using only sample implementation of in-memory users and HTTP basic authentication. Is up to user to re-implement custom authentication if needed. The following three roles are differentiated:

Role Rights
ADMIN Can administer banks & bank connections
USER Can create & initialize own & shared bank connection and use them for uploading / downloading
GUEST Can use the shared "test" bank connections only - for uploading / downloading

The EBICS user keys are persisted in the DB as java-key-store. User can use additionally the password (2FA) to protect access to his EBICS keys if desired.

Data model

The REST backend use simple JPA persistence layer. Access to core EBICS data is protected by Write/Read/UseAccessRightController interfaces which provides granular access control for single records in DB.

Data Model

Ideas for roadmap