Commit Graph

58 Commits

Author SHA1 Message Date
Derrick Hammer da19a2e287
fix: use StatusUnauthorized 2024-03-20 14:44:28 -04:00
Derrick Hammer 52a1f18c60
fix: if claim is empty and ExpiredAllowed on, abort early and pass through 2024-03-20 14:41:54 -04:00
Derrick Hammer 7df6bb245b
fix: return in wrong spot 2024-03-20 14:34:48 -04:00
Derrick Hammer cfce7348d4
fix: move error conditional outside if 2024-03-20 14:30:03 -04:00
Derrick Hammer 053a55c1f3
fix: invert check 2024-03-20 14:28:46 -04:00
Derrick Hammer 6c0ae8c0e6
refactor: if unauthorized is true, audList may be nil, and we may have to manually parse out the aud unverified to test 2024-03-20 14:27:02 -04:00
Derrick Hammer 9e170bae0d
fix: capture aud in JWTVerifyToken 2024-03-20 14:13:59 -04:00
Derrick Hammer 2528fd0afe
refactor: add optionExpiredAllowed to AuthMiddlewareOptions, add jwtPurposeEqual helper, don't error if expired with ExpiredAllowed and the purposes are different 2024-03-20 14:09:41 -04:00
Derrick Hammer bee80a9981
Revert "refactor: if the token doesn't match our purpose only error if EmptyAllowed is off"
This reverts commit b1fcc7f7ae.
2024-03-20 13:55:35 -04:00
Derrick Hammer b1fcc7f7ae
refactor: if the token doesn't match our purpose only error if EmptyAllowed is off 2024-03-20 13:52:25 -04:00
Derrick Hammer 2067c68a72
fix: ctx's not property nested 2024-03-18 17:29:49 -04:00
Derrick Hammer 26a6bda053
feat: add GetAuthTokenFromContext 2024-03-18 17:18:26 -04:00
Derrick Hammer 93105fe5af
refactor: add auth token to the request context 2024-03-18 17:17:52 -04:00
Derrick Hammer 5223a44790
refactor: move DEFAULT_AUTH_COOKIE_NAME to account 2024-03-17 08:51:59 -04:00
Derrick Hammer b03e6815e2
refactor: fall back and check for DEFAULT_AUTH_COOKIE_NAME 2024-03-17 08:13:50 -04:00
Derrick Hammer d5118beb58
refactor: allow purpose to be none 2024-03-13 18:44:09 -04:00
Derrick Hammer bf8d909a3c
refactor: add option to allow jwt to be bypassed if there is no token 2024-03-13 14:00:19 -04:00
Derrick Hammer caac09cc6f
feat: add CtxAborted and use in account pin 2024-03-05 13:41:47 -05:00
Derrick Hammer 40b3504c1d
refactor: rewrite main api router to be a class, lazy init it, and introduce RoutableAPI which can dynamically handle incoming requests if the main routes aren't matched 2024-02-25 08:36:32 -05:00
Derrick Hammer 7f12ee5b0d
refactor: implement new configuration management system 2024-02-22 02:13:59 -05:00
Derrick Hammer 84a78b7a7e
fix: use realKey 2024-02-17 20:25:30 -05:00
Derrick Hammer 7ec03524ed
fix: need to pass the claim by ref 2024-02-17 20:12:49 -05:00
Derrick Hammer 2fd3368b5a
fix: trim bearer in lowercase 2024-02-17 19:48:28 -05:00
Derrick Hammer 3ded11d705
fix: HttpMiddlewareFunc needs its own case 2024-02-17 05:38:50 -05:00
Derrick Hammer 9949dae5e8
fix: add HttpMiddlewareFunc to switch case 2024-02-17 05:28:56 -05:00
Derrick Hammer 3b9f4bbe3d
feat: add MergeRoutes 2024-02-17 03:04:27 -05:00
Derrick Hammer 16689f6c31
feat: add GetUserFromContext 2024-02-13 23:22:36 -05:00
Derrick Hammer f645499c7f
refactor: prefix all jwt helpers 2024-02-13 22:31:44 -05:00
Derrick Hammer 0b3d54e7c5
refactor: major middleware refactor 2024-02-13 22:17:34 -05:00
Derrick Hammer 6d34f5b683
refactor: change struct naming convention from "impl" to "default" 2024-01-31 20:29:27 -05:00
Derrick Hammer 55f515157d
refactor: move BuildS5TusApi and export middlewares to break import cycle 2024-01-28 02:48:02 -05:00
Derrick Hammer 2dc8fc56f5
refactor: epic refactor to use uber fx microframework/DI framework to manage dependency graph, remove the portal object, and remove the interfaces package 2024-01-28 02:20:59 -05:00
Derrick Hammer 8797460bf8
refactor: revert to using http.StripPrefix 2024-01-25 09:23:23 -05:00
Derrick Hammer b3f8b483db
Revert "debug: revert prefix hack"
This reverts commit 9002064937.
2024-01-24 09:51:13 -05:00
Derrick Hammer 9002064937
debug: revert prefix hack 2024-01-24 09:34:05 -05:00
Derrick Hammer 35cd041978
fix: can't use JapeMiddlewareFunc in type switch to cast 2024-01-22 17:06:39 -05:00
Derrick Hammer 2020a9f1d1
fix: change HttpMiddlewareFunc to not have a variable name 2024-01-22 17:03:54 -05:00
Derrick Hammer 6402410d75
fix: use HttpMiddlewareFunc 2024-01-22 17:00:57 -05:00
Derrick Hammer 527334f829
refactor: create generic AdaptMiddleware factory and change ApplyMiddlewares to take interfaces and handle multiple situations 2024-01-22 16:50:03 -05:00
Derrick Hammer 60e917120d
fix: only add slash if path is empty 2024-01-20 10:37:33 -05:00
Derrick Hammer c5b0865977
fix: need to create a custom version of strip prefix that appends a trailing slash for the router 2024-01-20 10:33:18 -05:00
Derrick Hammer 75e7ba00cd
fix: query needs to be manually built and re-encoded 2024-01-20 08:22:51 -05:00
Derrick Hammer 07c36109d8
refactor: move strip prefix to be last 2024-01-20 08:15:27 -05:00
Derrick Hammer 24e841ae97
fix: use new copy of request 2024-01-20 08:13:17 -05:00
Derrick Hammer a1e7cda659
refactor: move injectJwt to be processed after authMiddlewareFunc 2024-01-20 08:12:50 -05:00
Derrick Hammer 9bf10b19bf
refactor: add current request to tusJwtResponseWriter 2024-01-20 08:12:30 -05:00
Derrick Hammer 73fa265939
feat: implement tusJwtResponseWriter WriteHeader 2024-01-20 08:06:50 -05:00
Derrick Hammer a56fa20b6d
refactor: split findAuthToken to parseAuthTokenHeader 2024-01-20 08:03:26 -05:00
Derrick Hammer 1d1c552a0a
refactor: explicitly check the path and only for post 2024-01-20 07:57:09 -05:00
Derrick Hammer a2051acff1
feat: add initial tusJwtResponseWriter bones so we can append the auth_token to tus urls 2024-01-20 07:54:24 -05:00