Ryan Walters
67c9460c84
refactor(auth): implement session-based PKCE and eliminate provider duplication
...
- Replace in-memory PKCE storage with encrypted session cookies
- Add PKCE verifier and CSRF state fields to JWT Claims struct
- Move common PKCE validation logic to OAuthProvider trait
- Extract provider-specific methods for token exchange and user fetching
- Remove PkceManager and DashMap-based storage system
- Update GitHub and Discord providers to use new session-based approach
2025-09-19 10:23:33 -05:00
Ryan Walters
698f95ff32
refactor: clean test setup code, cleanup tests, separate into different files
2025-09-19 09:50:22 -05:00
Ryan Walters
54eca9f447
fix: install crypto provider default select
2025-09-19 08:54:20 -05:00
Ryan Walters
f9e79eb6d6
fix: move railway.json to root, explicitly configure with Dockerfile
2025-09-19 08:35:47 -05:00
Ryan Walters
408b660490
fix: drop unused fast_image_resize, drop toolchain back to 1.86, limit emscripten build to pacman project properly
2025-09-18 23:16:55 -05:00
Ryan Walters
cc06cd88a1
refactor: allow optional database in setup, use derived default
2025-09-18 22:58:38 -05:00
Ryan Walters
e2c725cb95
feat: allow health check forcing in debug, setup test mocking, plan out integration tests
2025-09-18 22:42:00 -05:00
Ryan Walters
350f92ab21
tests: setup basic tests, integration tests with testcontainers
2025-09-18 21:33:15 -05:00
Ryan Walters
3ad00bdcba
chore: setup lib for testing, image handling notes in README
2025-09-18 13:18:53 -05:00
Ryan Walters
7f9d3e9158
feat: implement r2 image upload for avatars
2025-09-18 13:18:14 -05:00
Ryan Walters
56e02e7253
refactor: remove unnecessary HashMap for passing code/state strings, formatter lifetime tweak
2025-09-17 13:18:58 -05:00
Ryan Walters
e2f3f6790f
refactor: create common pkce handling, max_age on link cookie
2025-09-17 13:08:48 -05:00
Ryan Walters
1be59f474d
feat: add Server header middleware, bump version to v0.4.0
2025-09-17 12:37:12 -05:00
Ryan Walters
916428fe76
feat: setup healthcheck route & background task
2025-09-17 12:32:52 -05:00
Ryan Walters
e02c2286bb
chore: add .scripts with local postgres setup script, setup todo list in README
2025-09-17 12:23:55 -05:00
Ryan Walters
c12dc11d8f
feat: normalize provider details into oauth_accounts table, auth linking intent, provider array in profile response
2025-09-17 11:17:31 -05:00
Ryan Walters
1cf3b901e8
feat: users table with sqlx, migrations, data persistence
2025-09-17 09:43:52 -05:00
Ryan Walters
ac1417aabc
feat: discord oauth provider, setup provider list route, add 'active' method, common type alias
2025-09-17 09:23:31 -05:00
Ryan Walters
8e23fb66a4
feat: setup smarter PKCE map purging & BasicClient type alias, smarter EnvFilter string building
2025-09-17 04:06:52 -05:00
Ryan Walters
92acb07b04
feat: setup tracing calls throughout project
2025-09-17 04:05:59 -05:00
Ryan Walters
18e750fa61
feat: add tracing/tracing-subscriber, setup CustomPrettyFormatter & CustomJsonFormatter
2025-09-17 03:48:35 -05:00
Ryan Walters
8d9c0621c9
feat: proper shutdown timeout handling
2025-09-17 03:41:13 -05:00
Ryan Walters
750b47b609
feat: add SIGINT/SIGTERM graceful shutdown handling
2025-09-17 03:36:59 -05:00
Ryan Walters
b1fae907ee
chore: add railway.json drainingSeconds
2025-09-17 03:33:39 -05:00
Ryan Walters
f3db44c48b
feat: setup github provider with generic trait, proper routes, session & jwt handling, errors & user agent
2025-09-17 03:33:18 -05:00
Ryan Walters
f69a5c7d52
feat: initial server config & Dockerfile
2025-09-16 22:13:35 -05:00
Ryan Walters
7ede82cc5d
feat: add pacman-common/pacman-server crates
2025-09-16 09:36:12 -05:00