Commit Graph

404 Commits

Author SHA1 Message Date
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 f9c834752f
fix: update AllowedHeaders and add Content-Type 2024-03-19 18:25:20 -04:00
Derrick Hammer 30aac94468
fix: update AllowedHeaders and add Authorization 2024-03-19 17:23:35 -04:00
Derrick Hammer 79425b76fc
fix: update AllowedMethods 2024-03-19 15:47:54 -04:00
Derrick Hammer 85738c1065
refactor: replace AllowedOrigins with AllowOriginFunc 2024-03-19 15:45:02 -04:00
Derrick Hammer 7ed63d94cc
refactor: add proxy middleware to add routes 2024-03-19 15:40:03 -04:00
Derrick Hammer c667c9509c
refactor: update cors options handling for S5 2024-03-19 15:37:38 -04:00
Derrick Hammer 4988368b7c
fix: add explicit options routes for all API methods 2024-03-19 15:32:40 -04:00
Derrick Hammer aff371a844
feat: add update password api route 2024-03-19 10:04:27 -04:00
Derrick Hammer ebb19df217
fix: update email endpoint needs auth mw 2024-03-19 09:09:25 -04:00
Derrick Hammer bf6264b01d
fix: malformed routes 2024-03-19 07:53:24 -04:00
Derrick Hammer 080a4a1a85
feat: add /api/account/update-email route 2024-03-19 07:49:15 -04:00
Derrick Hammer fddc64799e
refactor: put some account endpoints under account instead of auth 2024-03-19 07:41:53 -04:00
Derrick Hammer b2b6102216
fix: add Content-Type to tus cors allowed headers 2024-03-18 18:13:24 -04:00
Derrick Hammer 2067c68a72
fix: ctx's not property nested 2024-03-18 17:29:49 -04:00
Derrick Hammer d1c5bde5c1
refactor: add token to ping response message 2024-03-18 17:19:52 -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 040c662826
refactor: echo the auth cookie back if any exist 2024-03-18 17:03:17 -04:00
Derrick Hammer fd53b98633
fix: allow Upload-Metadata in cors 2024-03-18 15:53:40 -04:00
Derrick Hammer 5b8a7f79f0
fix: use AllowOriginFunc in tus 2024-03-18 15:45:29 -04:00
Derrick Hammer 228cabd83b
fix: cid needs to be lowercase 2024-03-18 14:26:45 -04:00
Derrick Hammer 99d47a4d9c
fix: need to enable AllowCredentials 2024-03-18 14:19:34 -04:00
Derrick Hammer 6b51e7196c
fix: need to whitelist Authorization and Content-Type headers 2024-03-18 14:16:04 -04:00
Derrick Hammer dcab0b46cd
fix: upload cors does not support wildcard methods 2024-03-18 14:13:40 -04:00
Derrick Hammer 65278cb046
fix: add options routes for basic upload 2024-03-18 14:06:58 -04:00
Derrick Hammer 455b793db6
dep: update dashboard 2024-03-18 13:51:29 -04:00
Derrick Hammer 3b01c8642d
refactor: add cors mw for account 2024-03-18 13:50:21 -04:00
Derrick Hammer c68dc51732
refactor: add cors mw for uploads 2024-03-18 13:39:50 -04:00
Derrick Hammer e864bcb098
feat: add upload limit endpoint 2024-03-17 11:16:50 -04:00
Derrick Hammer e73ab26ebf
feat: add logout endpoint 2024-03-17 09:27:57 -04:00
Derrick Hammer fd75ec3f6a
fix: bad alias for authCookieName 2024-03-17 09:19:33 -04:00
Derrick Hammer 9306051812
fix: use account.SetAuthCookie 2024-03-17 09:18:31 -04:00
Derrick Hammer d893216831
fix: SetAuthCookie needs the jwt 2024-03-17 09:18:01 -04:00
Derrick Hammer 5861e95fb5
refactor: update use of SetAuthCookie 2024-03-17 09:15:24 -04:00
Derrick Hammer e7393085b4
refactor: implement new methods for RoutableAPI 2024-03-17 09:13:20 -04:00
Derrick Hammer 4bd2b028b7
chore: remove local setAuthCookie 2024-03-17 09:10:14 -04:00
Derrick Hammer 107118febc
refactor: switch to account.SetAuthCookie 2024-03-17 09:09:57 -04:00
Derrick Hammer 244aa89d71
refactor: use jape.Context 2024-03-17 09:09:29 -04:00
Derrick Hammer 9a899317c1
refactor: implement Domain and AuthTokenName 2024-03-17 09:02:48 -04:00
Derrick Hammer b4b211d003
feat: add BuildSubdomain helper 2024-03-17 09:01:28 -04:00
Derrick Hammer 325a368dea
refactor: add AuthTokenName to RoutableAPI 2024-03-17 08:53:56 -04:00
Derrick Hammer 5223a44790
refactor: move DEFAULT_AUTH_COOKIE_NAME to account 2024-03-17 08:51:59 -04:00
Derrick Hammer 33e644f5c7
refactor: add Domain method to RoutableAPI 2024-03-17 08:51:23 -04:00
Derrick Hammer 3dfdd2d2f4
refactor: add GetAllAPIs 2024-03-17 08:42:53 -04:00
Derrick Hammer 3e48593675
refactor: register api after init 2024-03-17 08:42:25 -04:00
Derrick Hammer ae37a186a9
feat: add dedicated registry for api objects 2024-03-17 08:41:40 -04:00
Derrick Hammer a85ced7c62
refactor: change Registry name to EntryRegistry 2024-03-17 08:36:32 -04:00
Derrick Hammer 61012ae394
fix: change property name 2024-03-17 08:33:24 -04:00
Derrick Hammer 1bd4527300
fix: use middleware.DEFAULT_AUTH_COOKIE_NAME for authCookieName 2024-03-17 08:30:55 -04:00
Derrick Hammer 6c58f6bd6c
refactor: use SetAuthCookie and set both DEFAULT_AUTH_COOKIE_NAME and s5 authCookieName 2024-03-17 08:17:56 -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 193871f083
fix: error if user is nil 2024-03-16 21:31:09 -04:00
Derrick Hammer 3dc5c72840
fix: auth cookie needs to be at the root path 2024-03-16 21:14:43 -04:00
Derrick Hammer 1ca8d78c8e
fix: need to use develop branch for dashboard submodule 2024-03-16 21:07:57 -04:00
Derrick Hammer 57a455a17e
refactor: need to handle get requests as nested jape routers with special routing checks to ensure virtual client side app routing returns the static bundle 2024-03-16 21:05:42 -04:00
Derrick Hammer fd6c3e8604
fix: wrong embed path 2024-03-16 17:46:36 -04:00
Derrick Hammer cc1efd5d85
feat: add dashboard as a submodule and register embed and routing in account api 2024-03-16 17:13:29 -04:00
Derrick Hammer f6b28b0ee0
chore: temp disable email verification for testing 2024-03-16 15:43:52 -04:00
Derrick Hammer 971c72ada9
fix: add 401 status code 2024-03-16 11:37:42 -04:00
Derrick Hammer f558d87b36
fix: update /s5/account/pins response 2024-03-16 11:36:38 -04:00
Derrick Hammer ccae147398
feat: implement a basic account pins json api without paging 2024-03-16 11:14:06 -04:00
Derrick Hammer 8a2f501e8e
refactor: rename accountPins to accountPinsBinary 2024-03-16 11:00:27 -04:00
Derrick Hammer e11340ad2b
refactor: ensure we set a cookie, auth header and json response in both login and otp validate 2024-03-14 12:54:41 -04:00
Derrick Hammer 358d5fdf60
feat: add account info endpoint 2024-03-14 06:42:38 -04:00
Derrick Hammer 6ff84bbc1a
refactor: use dedicated auth mw for ping 2024-03-13 18:45:14 -04:00
Derrick Hammer d5118beb58
refactor: allow purpose to be none 2024-03-13 18:44:09 -04:00
Derrick Hammer 749a932663
fix: give login a dedicated authMiddleware instance 2024-03-13 17:35:26 -04:00
Derrick Hammer 4f891e067c
refactor: rename pong to ping 2024-03-13 17:34:10 -04:00
Derrick Hammer 2e3ec1408e
refactor: add PingResponse and link to /api/auth/ping 2024-03-13 17:26:25 -04:00
Derrick Hammer 0efcd35d65
refactor: add EmptyAllowed to authMw2fa 2024-03-13 14:01:08 -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 ca12b99438
fix: first/last name are snake case 2024-03-13 13:54:30 -04:00
Derrick Hammer 36c614c483
fix: correct swagger for ping 2024-03-13 12:30:31 -04:00
Derrick Hammer c416b40d00
feat: add ping endpoint to check auth status 2024-03-13 12:26:38 -04:00
Derrick Hammer 06f37bf3d8
refactor: add 415 response to /s5/metadata 2024-03-12 11:23:15 -04:00
Derrick Hammer a1014acf15
refactor: use StatusUnsupportedMediaType 2024-03-12 11:21:25 -04:00
Derrick Hammer d5782c7e86
fix: bad error message 2024-03-12 07:00:57 -04:00
Derrick Hammer 6c60dae743
fix: if the render end is 0, ensure the range header is valid syntax and skip it 2024-03-10 11:53:24 -04:00
Derrick Hammer 1f1f204b35
fix: only return noop is we are SeekStart and want the beginning, otherwise this is likely actually needing to start a partial content seek 2024-03-09 17:46:18 -05:00
Derrick Hammer 0c90924f31
refactor: add checking tus for metadata before uploads 2024-03-09 15:37:58 -05:00
Derrick Hammer 4020b9f7c7
fix: S5File::Exists needs to check tus before uploads 2024-03-09 14:27:07 -05:00
Derrick Hammer 4261bb6a5d
refactor: if the file exists locally, pull from out own node before fetching it from the net 2024-03-07 16:59:50 -05:00
Derrick Hammer 8a6516e157
fix: if root return a file with that set 2024-03-07 16:48:56 -05:00
Derrick Hammer 6e97b582ba
fix: pass Name to override using CID 2024-03-07 16:48:20 -05:00
Derrick Hammer 91d58ee87f
refactor: change login to respond with the jwt token in the body 2024-03-06 18:13:34 -05:00
Derrick Hammer 550398c701
feat: add swagger spec and support to account api 2024-03-06 04:58:04 -05:00
Derrick Hammer 6fb77d102a
refactor: add logic to find any unpinned files of a child manifest if the root is pinned but the children aren't 2024-03-05 16:27:29 -05:00
Derrick Hammer caac09cc6f
feat: add CtxAborted and use in account pin 2024-03-05 13:41:47 -05:00
Derrick Hammer fdfffb897c
fix: if not a manifest, call pinEntity directly 2024-03-05 12:41:28 -05:00
Derrick Hammer a5c1356847
fix: don't rely on content length, but do a basic heuristic by reading 1 byte past the max upload, if if we haven't hit the limit and the sizes don't match, then error, but otherwise take an optimistic stance 2024-03-05 12:38:41 -05:00
Derrick Hammer c6feee1351
fix: check if entry returns nil 2024-03-03 11:29:37 -05:00
Derrick Hammer 73623b8c36
fix: add CIDTypeDirectory to isCidManifest 2024-03-03 10:43:01 -05:00
Derrick Hammer f20b4ee916
fix: update usage of GetCachedStorageLocations 2024-03-03 09:33:21 -05:00
Derrick Hammer 080fcbd559
fix: add special case to check for an index.html, and pass root and root type 2024-03-03 08:29:07 -05:00
Derrick Hammer bd5544198e
refactor: optionally track a "root" cid which will be used for webapp manifests to start. Have IsDir run heuristics to verify if it is a dir by checking the manifest tryfiles 2024-03-03 08:28:39 -05:00
Derrick Hammer 756a01d52f
fix: if the filename is a . treat as a special case for a dir 2024-03-03 07:39:18 -05:00
Derrick Hammer bd29ab4612
fix: if we are being requested the root while is a dot, create a file based on the root cid with the . name 2024-03-03 07:38:34 -05:00