- Sign up with Email verificiation
- Login
- User/Password Recovery via Email one time link
- Email address change with verification
- Password change
- User deletion
- May 2024: Upgrade to Java 17, Spring Boot 3.25 and introducing Lombok
- March 2023: Added/Edited some files to run it with docker
- html5
- Javascript
- JQuery
- Bootstrap
- User deletion
- Java 17
- Spring Boot
- Spring Data JPA
- Spring Mail
- Spring REST
- Freemarker for Emails
- HSQL DB
- JUnit5
- provides https only connections (with redirect from http port)
- It uses a http only secure cookie with lax same site attribute and invalidates the cookie on logout.
- The cookie contains an JWT ID Token which is signed and verified on interaction
- Password is hashed with BCrypt
- config.properties (in test/main resources) pathToCert: path to X.509 certificate for public key (as pem)
- config.properties (in test/main resources) pathToPrivKey: path to corresponding private key pem file
- application.properties (in main resources) configure ssl keystore for https connection (server.ssl.key-store *)
- or set isMailingEnabled to false
- application.properties (in main resources) configure spring.mail.* for sending emails
- Units tests are running with HSQL
- local start would in the current configuration also run with HSQL (that means on app server restart data is lost)
- To change update application.properties (in main resources) spring.datasource.*/ spring.jpa*
- Have a closer look at config.properties (in test/main resources)
- E.g. switch off/on email sending by isMailingEnabled
- Switch off/on if user needs to click activation link to be active
- http port for https redirect (not nice but works)
- Id Token configs (TTL)
- base Urls for links in emails
- ...
- look at get it running above
- check out the blog entry here: https://www.wdev.ch/running-a-java-app-with-docker
benni-wdev