Skip to content

benni-wdev/user-webapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 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

  • 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 8
  • 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