Trong Huu Nguyen
5990e4bb71
refactor(session): extract session handler
2022-08-19 11:44:13 +02:00
Trong Huu Nguyen
c15e00469b
refactor: clean up session error handling
2022-08-18 21:35:15 +02:00
Trong Huu Nguyen
ae8028cc96
refactor: remove cookie session fallback store
...
The implementation is error-prone and difficult to maintain.
We instead just assume that the backing session store is highly
available.
2022-08-17 20:44:07 +02:00
Trong Huu Nguyen
5a50ba7c3a
feat: support multiple ingresses
...
Replace hardcoded callback URLs with dynamic generation
of URLs based on incoming requests. These are validated against
a pre-registered list of ingresses for which Wonderwall is considered
authorative for.
We also preserve the cookie behaviour; the most specific ingress path
and domain is used for the cookies.
The `url` package has been moved to the `handler` package, and its
implementation refactored slightly for readability and DRY.
2022-08-17 20:43:56 +02:00
Trong Huu Nguyen
41a10d8fe7
refactor: replace deprecated ioutil method and magic string
2022-08-17 11:39:43 +02:00
Trong Huu Nguyen
a9e9644764
refactor: move context utils to middleware
2022-08-17 11:39:40 +02:00
Trong Huu Nguyen
e460a5eab2
fix(handler/reverseproxy): do not overwrite host header
2022-08-17 11:39:17 +02:00
Trong Huu Nguyen
cbc49de826
refactor(handler/default): clean up access token getter
2022-08-11 09:31:27 +02:00
Trong Huu Nguyen
13fd194318
refactor(handler/default): extract reverseproxy to avoid unnecessary instantiation
2022-08-11 09:31:10 +02:00
Trong Huu Nguyen
4646c36b74
refactor(autologin): skip -> ignore
2022-07-21 12:50:55 +02:00
Trong Huu Nguyen
d79f31c18d
refactor(autologin): use glob-style matching instead of regex
...
Regexes are powerful, but completely overkill and error-prone for this
use-case. So instead, we'll use path.Match with its simpler glob-style
patterns.
2022-07-21 12:01:30 +02:00
Trong Huu Nguyen
31ab8ad3b7
refactor(handler/default): redirect auto-login requests instead of inlining login handler
2022-07-21 08:21:28 +02:00
Trong Huu Nguyen
27ea0793ba
refactor(handler): reduce logging severity for spammy statements
2022-07-21 07:49:58 +02:00
Trong Huu Nguyen
595d902dcd
fix(handler/default): only assert loginstatus if we already have an active session
2022-07-20 15:56:23 +02:00
Trong Huu Nguyen
b4e6e97448
refactor(metrics): use const label for hpa, ensure provider label is set
2022-07-20 14:50:13 +02:00
Trong Huu Nguyen
eac2d5789d
refactor: passthrough for consistency in openid configuration
2022-07-20 09:58:49 +02:00
Trong Huu Nguyen
09ab8b9e3b
refactor(handler): minor cleanups
2022-07-19 20:11:52 +02:00
Trong Huu Nguyen
3e62683cad
refactor: use pointer receivers when possible
2022-07-19 19:24:28 +02:00
Trong Huu Nguyen
cbb6be135a
feat(metrics): add metrics for successful logins and logouts
2022-07-19 09:25:43 +02:00
Trong Huu Nguyen
0d0f75d21e
style(handler/callback): accidentally a letter
2022-07-19 08:39:03 +02:00
Trong Huu Nguyen
b674a0ffa7
refactor(session): wrap own error type instead of using store-specific errors
2022-07-19 08:39:02 +02:00
Trong Huu Nguyen
4ab07e9dc2
refactor: clean up logging
2022-07-19 08:39:02 +02:00
Trong Huu Nguyen
a639ff2903
refactor(retry): extract retry package, add retry for session operations
2022-07-19 08:39:00 +02:00
Trong Huu Nguyen
81fa96ccb8
refactor(handler/default): minor cleanups for loginstatus
2022-07-19 08:38:52 +02:00
Trong Huu Nguyen
bece03c94e
refactor(middleware/logentry): replace zerologger with logrus
2022-07-18 15:47:35 +02:00
Trong Huu Nguyen
4a3f1d3d7e
refactor(handler/test): extract upstream and httpclient for readability
2022-07-17 20:20:45 +02:00
Trong Huu Nguyen
ef649e7aaa
feat: add allowlisting of paths for autologin
2022-07-17 20:11:55 +02:00
Trong Huu Nguyen
9d32d100f0
refactor(handler/test): consistency passthrough, replace unneeded location parsing with stdlib function
2022-07-15 10:24:24 +02:00
Trong Huu Nguyen
f6afc3cb6b
test(handler): add tests for default reverse proxy handler
2022-07-15 10:07:42 +02:00
Trong Huu Nguyen
ee28484829
test(handler): use correct session ID for front-channel logout
2022-07-15 09:07:29 +02:00
Trong Huu Nguyen
24da9ee4f7
refactor(handler/frontchannellogout): ignored request should just return accepted status
2022-07-15 09:06:04 +02:00
Trong Huu Nguyen
8e45eb1bc2
style: do not use resp before checking for errors
2022-07-15 08:44:54 +02:00
Trong Huu Nguyen
822c37ac20
test: add error handler tests, use httptest lib for requests
2022-07-15 08:43:25 +02:00
Trong Huu Nguyen
e3b9d33296
refactor: split out packages from router
2022-07-15 07:44:54 +02:00