Commit Graph

829 Commits

Author SHA1 Message Date
Joachim Van Herwegen
6fe6b6ec89 fix: Allow path segments to start with 2 or more dots 2024-03-25 13:51:55 +01:00
Joachim Van Herwegen
33e9ae4191 fix: Add priorities to RDF types when converting 2024-03-14 07:20:08 +01:00
Joachim Van Herwegen
8fff08a9b6 fix: Extract root as possible pod when using subdomains 2024-02-28 11:06:30 +01:00
Joachim Van Herwegen
2d44d61942 docs: Fix language
Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
2024-02-15 07:20:43 +01:00
Joachim Van Herwegen
68975e6627 fix: Prevent error when switching accounts 2024-02-15 07:20:43 +01:00
Joachim Van Herwegen
137027e421 fix: Keep content-type when using metadata templates 2024-02-15 06:48:30 +01:00
Joachim Van Herwegen
e09b53b20d chore: Replace rdf-js import with @rdfjs/types 2024-01-16 08:49:28 +01:00
Joachim Van Herwegen
277a0d0ab7 fix: Encode WebID ownership tokens 2024-01-05 11:12:42 +01:00
Joachim Van Herwegen
a0b7ee42f3 fix: Only require append when creating with PUT 2024-01-05 11:12:07 +01:00
Joachim Van Herwegen
c6ec45c7c0 feat: Support default mainModulePath when creating App 2024-01-04 14:17:00 +01:00
Joachim Van Herwegen
3a9b0d69f0 chore: Update linting dependency 2023-12-08 14:24:35 +01:00
Joachim Van Herwegen
6c30a2512b fix: Update resource size in ConstantConverter 2023-11-20 09:16:34 +01:00
Joachim Van Herwegen
4318479154 fix: Prevent errors in JSON storage when data is invalid 2023-11-20 09:16:02 +01:00
Joachim Van Herwegen
2f928bd2d4 fix: Prevent errors during migration for invalid JSON 2023-11-20 09:16:02 +01:00
Joachim Van Herwegen
01623e0b5c docs: Explain storage/location import options
* docs: Explain storage/location import options

* docs: Fix language

Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>

---------

Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
2023-11-17 11:26:54 +01:00
Wouter Termont
86f45923ba feat: Add index signature to Credentials
* feat: abstract Credentials type for Authorizer

* feat: abstract Credentials type in CredentialsExtractor & PermissionReader

* chore: typegraphical corrections in documentation

Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>

* fix: remove accidental .js extension

* feat: also check for undefined credentials when deciding 401/404

* docs: corrections to code documentation

Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>

* fix: revert abstraction & index signature to Credentials

* chhore: fix linter issues

---------

Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
2023-11-10 08:10:10 +01:00
Joachim Van Herwegen
edbf895505 chore: Update to TypeScript 5.2.2
tsconfig has to be different for tests due to cjs/esm issues with jest.
Deploy scripts need to use the original tsconfig though,
which is why we have the current nested tsconfigs.
2023-11-02 10:51:29 +01:00
Joachim Van Herwegen
c2a84b6592 refactor: Prevent default parameters for objects 2023-11-02 09:49:17 +01:00
Joachim Van Herwegen
98f5d8fb73 refactor: Prevent negated conditions 2023-11-02 09:49:17 +01:00
Joachim Van Herwegen
c9e4c7041c refactor: Prevent for-each calls 2023-11-02 09:49:17 +01:00
Joachim Van Herwegen
20d4a0c3af refactor: Prevent reduce calls 2023-11-02 09:49:17 +01:00
Joachim Van Herwegen
990184dbb5 refactor: Use node protocol when importing builtins 2023-11-02 09:49:17 +01:00
Joachim Van Herwegen
def0b5c732 refactor: Enable consistent newlines in lists 2023-11-02 09:49:17 +01:00
Joachim Van Herwegen
3bb3004abb refactor: Bring lint config back to original strictness 2023-11-02 09:49:17 +01:00
Joachim Van Herwegen
6248ed0938 refactor: Replace linting configurations
The previous package was outdated, preventing us from updating TS.
This one also lints YAML and JSON,
and applies many more rules to the test files,
explaining all the changes in this PR.
2023-11-02 09:49:17 +01:00
Wouter Termont
58daeb684f feat: pass requestedModes metadata on 401
* feat: pass requestedModes metadata on 401

* fix: bundle modes per target bnode

* fix: use custom instance check for HttpError
2023-10-27 09:23:36 +02:00
Joachim Van Herwegen
f932cf4b22 chore: Update dependencies 2023-10-11 16:25:49 +02:00
Joachim Van Herwegen
607c04ff28 refactor: Rename WebIdAdapterFactory to ClientIdAdapterFactory 2023-10-11 13:01:36 +02:00
Joachim Van Herwegen
7a44581406 fix: Ensure setup values are migrated correctly 2023-10-11 12:47:02 +02:00
Joachim Van Herwegen
9daeaf89ac feat: Update migration to clear all old non-account data
This is necessary to support the new internal format
2023-10-11 12:47:02 +02:00
Joachim Van Herwegen
f954fc9450 fix: Be consistent in slash usage in storages 2023-10-11 12:47:02 +02:00
Joachim Van Herwegen
b5a61cbb08 feat: Use new MaxKeyLengthStorage to prevent keys that are too long 2023-10-11 12:47:02 +02:00
Joachim Van Herwegen
16378ec470 fix: Encode notification keys before accessing the storage
This to prevent issues when a storage is used that does not encode
2023-10-11 12:47:02 +02:00
Joachim Van Herwegen
2914fd7d60 fix: Update generated keys in ExpiringAdapterFactory to prevent overlap
If the keys were not encoded there could be an issue
where there were 2 similar keys `grant/123` and `Grant/123`.
2023-10-11 12:47:02 +02:00
Joachim Van Herwegen
864dd7c2e0 feat: Add support for initializing a server with a root pod 2023-10-09 09:57:25 +02:00
Joachim Van Herwegen
0ac7d407bf feat: Add migration for v6 account data 2023-10-06 12:54:26 +02:00
Joachim Van Herwegen
fedd9e04d8 feat: Allow ConditionalHandler to set the expected value 2023-10-06 12:54:26 +02:00
Joachim Van Herwegen
42a1ca7b64 feat: Create PodCreator class to contain most pod creation logic 2023-10-06 11:05:01 +02:00
Joachim Van Herwegen
307dba3219 fix: Rename cookie field to authorization 2023-10-06 11:05:00 +02:00
Joachim Van Herwegen
cd07338ce7 feat: Add support for pod owners 2023-10-06 11:04:59 +02:00
Joachim Van Herwegen
4230db5038 feat: Use IndexedStorage to store account data 2023-10-06 11:04:58 +02:00
Joachim Van Herwegen
a47f5236ef feat: Full rework of account management
Complete rewrite of the account management and related systems.
Makes the architecture more modular,
allowing for easier extensions and configurations.
2023-10-06 11:04:40 +02:00
Joachim Van Herwegen
5eff035cb3 feat: Remove setup 2023-10-06 10:11:59 +02:00
Joachim Van Herwegen
ea83ea59a1 feat: Update StaticAssetHandler to allow for easier overrides 2023-10-06 10:11:58 +02:00
Joachim Van Herwegen
531c299c7b refactor: Rename WebHook to Webhook 2023-10-06 08:39:42 +02:00
Joachim Van Herwegen
cccca96d28 test: Workaround for Jest dynamic import issues
Dynamic imports cause segmentation faults with Jest:
https://github.com/nodejs/node/issues/35889.
We work around this by handling imports in IdentityProviderFactory
differently when Jest is running.
For unit tests we use a different tsconfig
that transpiles dynamic imports differently,
as those are also used in AppRunner.
2023-10-06 08:39:07 +02:00
Joachim Van Herwegen
b3ef4ed017 fix: Use local file for oidc-provider typings
Due to v8 of oidc-provider being ESM,
we can't use the typings directly because of a TS bug:
https://github.com/microsoft/TypeScript/issues/49721.
This works around that.
2023-10-06 08:39:07 +02:00
Joachim Van Herwegen
7024ee9a58 feat: Update oidc-provider to v8
The new version is an ESM package,
so we need to do a dynamic import as our package is CJS.
To correctly transpile the dynamic import,
moduleResolution needs to be set to node16.
See https://github.com/microsoft/TypeScript/issues/43329
2023-10-06 08:39:07 +02:00
Joachim Van Herwegen
e0c1baeb43 chore: Make Node v18 the minimum supported version 2023-10-05 15:26:56 +02:00
Joachim Van Herwegen
c95198285c Merge branch 'main' into versions/next-major 2023-10-05 14:28:06 +02:00