OAuth Service - WIP
Java - Maven - Spring boot - PostgreSQL
Build workflow: Docker > Google Cloud Build > Google Artifact Registry > Google Cloud Run > Google Cloud SQL
Current live demo: auth.marcuslull.com
Description
An implementation of the OAuth 2.0 Framework using JSON Web Tokens (JWT) with authorization code and client credential grant types. These grant types are additionally secured with the Proof Key Code Exchange (PKCE) extension to provide further protection against Cross Site Request Forgery (CSRF) and injection attacks.
The JWTs are OpenID Connect 1.0 compliant which may expose authentication claims of an end-user
More Information
https://oauth.net/2/
https://openid.net/
Current Release (v0.1.0)
Added basic authentication workflows
Login/logout
Email verification
Update password
Added a custom user details service to facilitate persistence
Added PostgreSQL support for user account persistence
Added support for password hashing with the Argon2id cryptographic hashing algorithm
Added support for logging via a Logback rolling size and time based log files
Added unit and integration tests for controller and service classes
Added Thymeleaf UI template pages along with common fragments to support the implemented workflows
Current security filter supports CSRF, event monitoring, authorization exceptions and custom login/logout pages
Email account verification via shared UUID with short time to live
Password resets via shared UUID with short time to live