Commit Graph
48 Commits
Author SHA1 Message Date
lobo 9df7389fab docs: rewrite the readme for the public showcase
Also ignore local secrets and stop tracking the generated effective-pom.
2026-09-25 08:22:56 +02:00
lobo 508e628d86 feat(user): pick or turn off the dashboard banner 2026-09-24 15:35:48 +02:00
lobo 1d88c30d48 feat(user): synced appearance settings 2026-09-24 15:06:16 +02:00
lobo 973b980e05 feat(profile): opt-in public profile with a ticket for Core
user_settings.public_profile (off by default, needs a display name).
GET /api/public/profiles/{displayName} answers only for enabled users with a
public profile and returns a 10-minute EdDSA ticket for Core. A token with a
typ claim is no login, so the ticket cannot be used as one.
2026-09-24 14:18:32 +02:00
lobo 07ccb489ec test: share one Postgres container across test classes
The per-class container was stopped under the Spring context that the next
integration test class reused, so health answered 503 there.
2026-09-24 14:18:32 +02:00
lobo 05e87b4396 feat(user): optional display name (player tag)
users.display_name (V6), 3-24 letters, digits, space, _ . -, unique ignoring case. Set in settings (409 DISPLAY_NAME_ALREADY_IN_USE, also for the DB constraint race) and optionally at registration. Returned by /api/users/me.
2026-09-24 10:39:04 +02:00
lobo 4ebca75be4 fix(cors): expose Retry-After so the login page can show the block time 2026-09-24 10:29:57 +02:00
lobo f3b6d67b5b fix(security): hide health details and close Prometheus to the public
/actuator/health showed database and disk details to anyone, and /actuator/prometheus was open. Only health stays public, as plain UP/DOWN for the Docker health check.
2026-09-24 10:26:53 +02:00
lobo da7c3ed069 fix(login): same error for every failed login, block disabled users, rate limit
Unknown email, wrong password and disabled account now all return 401 INVALID_CREDENTIALS; unknown emails still run bcrypt against a dummy hash so timing does not leak them. After 5 failures per email or 20 per client IP, login returns 429 with Retry-After for 15 minutes. LoginRequest is now validated.
2026-09-24 10:22:30 +02:00
lobo 3b6acb2b34 fix(db): remove the seeded test user from all environments
V1 inserted test@example.com / password123 everywhere, including prod. V5 deletes that row only when email and seed hash both match.
2026-09-24 10:14:58 +02:00
lobo 0f8c724556 chore(deps): update Spring Boot to 4.1.1 and ArchUnit to 1.5.0 2026-09-24 08:56:45 +02:00
lobo 0e830aca72 fix(user): send Steam ID as string and refresh token on settings save
JavaScript rounds 17-digit Steam IDs, so 76561198000000001 was stored as
76561198005679790. Steam IDs are now JSON strings (17 digits, numbers
rejected), and null means "no Steam ID" instead of 0 (V4 migrates old rows).

PUT /api/users/settings returns a new token, because Core reads the Steam ID
from the token. A Steam ID owned by another user returns 409.
2026-09-24 08:51:01 +02:00
Andreas Dahm faed2d3411 fix(user): null-safe steamId comparison in updateSettings 2026-05-12 10:09:33 +02:00
Andreas Dahm 3c3cda9409 Small fixed 2026-05-12 09:51:09 +02:00
lobo 89fdc7841b Merge pull request 'Changed from JWT token to public/privat key' (#2) from feat/jwt-eddsa into main
Reviewed-on: #2
2026-05-12 08:58:57 +02:00
Andreas Dahm 9114eb096b Changed from JWT token to public/privat key 2026-05-12 08:56:51 +02:00
Andreas DahmandClaude Opus 4.7 4859e74d45 Add Auth-owned product roadmap to README
Captures the Auth slices of the cross-service product roadmap:
username + public-profile opt-in, friends graph, email/notification
preferences, invitation system enhancements, and GDPR delete/export.
Cross-links to the umbrella roadmap in ToBePlayed-Deployment.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 14:51:24 +02:00
Andreas Dahm 34fa22c2b9 Changed readme.md 2026-05-11 14:40:54 +02:00
Andreas Dahm 6f63179ec2 Fixed problems with update of settings also added public area 2026-05-04 15:16:14 +02:00
Andreas Dahm 40135550f8 Extended pricipal to add steam id 2026-04-28 15:43:27 +02:00
Andreas Dahm bcbf761aa5 Added registration endpoint to whitelist 2026-04-24 10:22:15 +02:00
lobo 2dc3cda51c Support now null as not initialized for SteamId 2026-04-19 14:59:27 +02:00
lobo 2d4fb5bef7 Support now null as not initialized for SteamId 2026-04-19 14:35:02 +02:00
lobo c7ec8c2f7c Added new db migration to set default SteamId to 2026-04-19 14:17:49 +02:00
lobo 2a5839b736 Refactor package structure: domain -> modules
Move domain packages into a new modules.* hierarchy and rename controller packages to api.* across login, registration, and user modules. Update package declarations and imports (including shared.api DTOs and JwtService -> modules login TokenGenerator), adjust tests and persistence/mapper paths accordingly, and apply minor formatting fixes (missing EOF newlines). This reorganizes the project to better separate API surface and module boundaries.
2026-04-19 12:50:01 +02:00
lobo 3fcba271a6 Merge pull request 'feature-cleanup' (#1) from feature-cleanup into main
Reviewed-on: #1
2026-04-18 11:52:46 +02:00
lobo 37b0fcdd21 Fixed tests 2026-04-18 11:49:09 +02:00
lobo f90b674ed2 Fixed tests 2026-04-18 11:47:58 +02:00
lobo 20402eb7c4 Added new tests fixed some problem 2026-04-18 11:28:06 +02:00
lobo 14a4ccfb87 Fixed tests 2026-04-11 12:32:32 +02:00
lobo 03d5a011ae Added lots of new stuff
- extended the jwt and put userid into it
- completed update settings
- added settings also in me call
2026-04-11 12:07:27 +02:00
lobo 6e194b9c9a Added transactional 2026-04-06 09:57:39 +02:00
lobo 954669d1a4 changed default profile to prod 2026-04-06 09:35:31 +02:00
lobo afbe950ba4 Finished registration Process and added tests 2026-04-06 09:12:45 +02:00
lobo 5dcdf7bd61 Started with:
- Registration logic for new players
- Extended User table with more information
2026-04-04 17:11:13 +02:00
lobo ad30de4190 Added tests for all services and controller 2026-04-04 16:01:05 +02:00
lobo c028e8d382 Added arch unit tests 2026-04-04 11:22:26 +02:00
lobo 7ba38fbbce Fixed problem with token response 2026-04-04 10:55:39 +02:00
lobo 5dc3632687 Cleaned a little bit up 2026-04-04 10:43:18 +02:00
lobo afd71b82be Implemented user service 2026-04-04 09:58:09 +02:00
lobo 3ee636253b Disabled test for now until db config is ready for testing 2026-04-03 12:32:40 +02:00
lobo a94b2bf9e7 Added jwt token validation and api endpoint versioning 2026-04-03 12:25:03 +02:00
lobo 161381ebe5 Cleaned up the architecture 2026-04-03 11:35:53 +02:00
lobo cc24c43ab8 Updated pipeline 2026-03-31 19:54:02 +02:00
lobo 1ce56590d1 Updated pipeline 2026-03-31 19:52:09 +02:00
lobo 132bb6bb64 Login should work now, tests are missing 2026-03-31 19:48:23 +02:00
lobo eecda99d22 Setup of springboot 2026-03-31 18:57:06 +02:00
lobo a7c9364c7a First commit 2026-03-31 18:20:40 +02:00