Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Java Web app providing Registration, Login and Data Change flows

  • This includes:
  • Sign up with Email verificiation
  • Login
  • User/Password Recovery via Email one time link
  • Email address change with verification
  • Password change
  • User deletion

Changes

  • May 2024: Upgrade to Java 17, Spring Boot 3.25 and introducing Lombok
  • March 2023: Added/Edited some files to run it with docker

Frontend is build with

  • html5
  • Javascript
  • JQuery
  • Bootstrap
  • User deletion

Backend (Java) is build with

  • Java 17
  • Spring Boot
  • Spring Data JPA
  • Spring Mail
  • Spring REST
  • Freemarker for Emails
  • HSQL DB
  • JUnit5

Security

  • 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

Get it running

Secrets
  • 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
Mail
  • application.properties (in main resources) configure spring.mail.* for sending emails
Database
  • 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*
Other configs
  • 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
  • ...

Get it running with docker


benni-wdev

https://www.wdev.ch