Commit Graph

60 Commits

Author SHA1 Message Date
Joachim Van Herwegen
ad3edcf1a8 feat: Handle OPTIONS requests in OperationHandler 2022-03-18 14:15:12 +01:00
Joachim Van Herwegen
d908374364 feat: Check parent ACL permissions for create/delete requests 2022-03-18 14:15:12 +01:00
Joachim Van Herwegen
e86e0cf36b feat: Return 404 for read/delete requests if there is no resource 2022-03-18 14:15:12 +01:00
Joachim Van Herwegen
9a29cc2257 fix: Extract correct access modes from request 2022-03-18 14:15:12 +01:00
Joachim Van Herwegen
2ae5924dde feat: Pass access modes to PermissionReaders
This allows PermissionReaders to potentially only check the necessary access modes
for potential performance optimization.
2022-03-18 14:15:12 +01:00
Thomas Dupont
ce754c119f fix: Add content-negotiation when fetching dataset from url
* Solution works but tests don't

* refactor(FetchUtil): use arrayifyStream

* refactor(FetchUtil): split fetchDataset into 2 separate functions

* style(FetchUtil): onelining instead of declaring new local var

* test: trying to mock rdfDereferencer

* refactor: promise can't have async function as arg

* test(FetchUtil): pass Quad array to mockDereference instead

* test: all tests should pass now and coverage is back to 100%

* style: comment typo

* chore: make package.json and package-lock.json compatible with main

* chore: fix package.json double entries

* chore: updated package.json to be alfabetical again

* refactor(AgentGroupAccessChecker): Remove converter from contructor and config

* refactor(TokenOwnerShipValidator): Remove converter from constructor and config

* refactor(FetchUtil): Return BadRequestHttpError instead of generic Error

* test(FetchUtil): return Response object instead of mocking fetch

* style: typos and newlines
2022-02-15 13:44:03 +01:00
Joachim Van Herwegen
a9941ebe78 feat: Add support for N3 Patch 2022-01-25 11:30:42 +01:00
Joachim Van Herwegen
1afed65368 feat: Return correct status codes for invalid requests 2022-01-21 17:10:38 +01:00
Renovate Bot
2e99cc9934 fix(deps): update dependency sparqlalgebrajs to v4 2021-11-05 16:07:20 +01:00
Joachim Van Herwegen
5613ff9e71 fix: Let Representations always have a body
This is relevant when the request has a content-type
but no data.
2021-10-12 13:30:06 +02:00
Joachim Van Herwegen
b3da9c9fcf refactor: Restructure source code folder
This way the location of certain classes should make more sense
2021-10-12 12:51:02 +02:00
Joachim Van Herwegen
7c7fee5f5c refactor: Rename associated resource to subject resource 2021-10-08 15:49:49 +02:00
Joachim Van Herwegen
8f5d61911d feat: Always grant control permissions to pod owners 2021-10-05 13:19:01 +02:00
Joachim Van Herwegen
7f8b923399 feat: Replace acl specific permissions with generic permissions
This required AuxiliaryStrategy to have a new function
indicating if the auxiliary resource just used its associated resource authorization
or its own.
2021-09-28 13:06:38 +02:00
Joachim Van Herwegen
5104cd56e8 feat: Create OperationMetadataCollector to handle operation metadata 2021-09-28 13:06:38 +02:00
Joachim Van Herwegen
bf28c83ffa feat: Use PermissionReaders to determine available permissions
These readers will determine which permissions
are available for the incoming credentials.
Their results then get combined in a UnionReader
and authorized in a PermissionBasedAuthorizer
2021-09-28 13:06:38 +02:00
Joachim Van Herwegen
e8dedf5c23 feat: Extract set of required modes instead of PermissionSet 2021-09-28 13:06:38 +02:00
Joachim Van Herwegen
c3fa74de78 feat: Let CredentialsExtractors specify what type of Credentials they generate 2021-09-28 13:06:38 +02:00
Ruben Verborgh
60fc273ea5 change: Rename resourceStore to aclStore. 2021-09-07 12:43:05 +02:00
Joachim Van Herwegen
ff200e22a9 feat: Add a cache to the AgentGroupAccessChecker 2021-08-23 16:39:25 +02:00
Simone Persiani
401923b792 feat: Add support for agentGroup ACL rules
Co-Authored-By: Ludovico Granata <Ludogranata@gmail.com>
2021-08-23 16:39:25 +02:00
Simone Persiani
16ebfb329f refactor: Refactor WebAclAuthorizer
Co-Authored-By: Ludovico Granata <Ludogranata@gmail.com>
2021-08-23 16:39:25 +02:00
Simone Persiani
c13c03ef54 feat: Add function readableToQuads
Co-Authored-By: Ludovico Granata <Ludogranata@gmail.com>
2021-08-23 16:39:25 +02:00
Joachim Van Herwegen
f4833d2534 feat: Create PathBasedAuthorizer 2021-07-27 14:31:02 +02:00
Joachim Van Herwegen
d95db60fe1 feat: Create DenyAllAuthorizer 2021-07-27 14:31:02 +02:00
Joachim Van Herwegen
dee382849d refactor: Rename AllowEverythingAuthorizer to AllowAllAuthorizer 2021-07-27 14:31:02 +02:00
Ruben Verborgh
6495d650c2 chore: Use consistent strategy naming. 2021-07-21 23:37:23 +02:00
Joachim Van Herwegen
e43b579ae7 fix: Throw internal error with invalid ACL. 2021-07-16 16:42:32 +02:00
Ruben Verborgh
0f22fb5ddb refactor: Clarify WebACL algorithm. 2021-05-17 09:41:24 +02:00
Michiel de Jong
91791a0a14 Fix #621: acl:AuthenticatedAgent instead of foaf:AuthenticatedAgent 2021-02-18 15:28:29 +01:00
Joachim Van Herwegen
f2f265c586 feat: Let Authorizers output an Authorization 2021-02-18 14:13:47 +01:00
Joachim Van Herwegen
7f34fe6ae3 feat: Create separate authorizer for auxiliary functions 2021-02-18 13:26:08 +01:00
Joachim Van Herwegen
8339413ab4 feat: Add permissions extractor for acl resources 2021-02-18 13:26:08 +01:00
Joachim Van Herwegen
758f5ed083 feat: Generalize AclManager to AuxiliaryManager 2021-02-18 13:26:08 +01:00
Ruben Verborgh
eb1440851a refactor: Move handlers into subfolder. 2021-01-27 11:29:35 +01:00
Joachim Van Herwegen
e752927171 fix: Remove all instanceof checks
This prevents problems with different environments.
Also introduces unit tests to double check HttpError values.
2021-01-25 16:11:43 +01:00
Ruben Verborgh
7dcde1e0e3 refactor: Improve logging for access control. 2021-01-15 18:25:37 +01:00
Joachim Van Herwegen
ee50f40062 docs: Add comments referencing the Solid spec where relevant
Also some minor changes to completely match the spec there.
2021-01-15 08:42:36 +01:00
Joachim Van Herwegen
61aa2e12bd fix: Update acl authorizer to make write rights imply append rights 2021-01-11 09:05:41 +01:00
Ruben Verborgh
4828912593 refactor: Use record for representation preference. 2021-01-04 23:06:52 +01:00
Ruben Verborgh
8e138c36d1 refactor: Use types to create vocabularies. 2021-01-02 22:56:25 +01:00
Ruben Verborgh
1cf1167261 test: Use Components.js in Authorization. 2020-12-22 00:33:33 +01:00
Joachim Van Herwegen
f0db9e501f refactor: Replace getParentContainer util function with ContainerManager 2020-12-11 12:42:17 +01:00
Ruben Verborgh
74415cf49b fix: Align webId capitalization. 2020-12-01 23:35:11 +01:00
Joachim Van Herwegen
ee312910d7 fix: Correctly handle acl behaviour for acl identifiers 2020-11-25 09:04:55 +01:00
Joachim Van Herwegen
1073c2ff4c refactor: Clean up utility functions 2020-11-18 17:19:53 +01:00
Ruben Verborgh
1a45b65df7 refactor: Implement empty canHandle on base class. (#289) 2020-10-30 17:56:39 +01:00
smessie
99464d9a95 feat: Add logging
* feat: Add logging

* refactor: Configure the logger for the tests once globally

* feat: Add logging

* fix: Fix ESLint errors due to merge conflicts

* Review log and error messages.

* refactor: Cleanup a bit

* refactor: Change to logger info calls

Co-authored-by: Ruben Verborgh <ruben@verborgh.org>
2020-10-26 10:31:01 +01:00
Joachim Van Herwegen
9657fbafb1 refactor: Update eslint related dependencies 2020-09-17 11:55:49 +02:00
Joachim Van Herwegen
85df2e5d7f refactor: Make URI constants consistent 2020-09-16 13:18:58 +02:00