Joachim Van Herwegen
6c4ccb334d
feat: Store account settings separately
...
Account settings are stored using the WebID as key.
Reason for using the WebID is that this allows faster access to the settings
in authenticated requests.
A consequence of this is that passwords are now always required during registration,
and that there can only be 1 account per WebID.
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
ba1886ab85
feat: Combine the results of multiple CredentialsExtractors
2021-09-28 13:06:38 +02:00
Joachim Van Herwegen
62f026f2bc
feat: Create UnionHandler to combine AsyncHandler results
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
34a44d1636
feat: Adjust copy for setup.
2021-09-27 10:32:34 +02:00
Joachim Van Herwegen
b592d449eb
feat: Integrate setup behaviour
...
This adds options for enabling setup to the config folder.
All default configs with permanent storage (file/sparql)
are configured to require setup at server start.
Memory-based configs merely have it as an option.
2021-09-27 10:32:34 +02:00
Joachim Van Herwegen
4e1a2f5981
feat: Create SetupHttpHandler
...
This handler allows users to set up servers with a pod
and without having to enable public access first
2021-09-27 10:32:34 +02:00
Joachim Van Herwegen
02df2905de
feat: Create RedirectAllHttpHandler
...
This handler will redirect all requests to a specific URL
2021-09-27 10:32:34 +02:00
Joachim Van Herwegen
facf691e86
feat: Create ConditionalHandler
...
This handler rejects all inputs once a certain condition is met
2021-09-27 10:32:34 +02:00
Joachim Van Herwegen
fb0b50c997
fix: Make the RouterHandler more robust
...
It now extracts paths based on the base URL
and allows catching all methods.
2021-09-27 10:32:34 +02:00
Joachim Van Herwegen
42d3ab0a4c
fix: Add filename parameter for EJS templates
...
This is required if we want to include partial templates
2021-09-27 10:32:34 +02:00
Joachim Van Herwegen
ef9703e284
feat: Patch containers by recreating Representation from metadata
...
Also included is a change to the Patching architecture.
Patching is now done by RepresentationPatchers that take a Representation as input.
2021-09-16 13:39:11 +02:00
Joachim Van Herwegen
a1c3633a25
fix: Only check DataAccessor canHandle call for Documents
2021-09-16 13:39:11 +02:00
Joachim Van Herwegen
0271133d33
fix: Hide internal data by making it auxiliary
2021-09-14 10:51:37 +02:00
Joachim Van Herwegen
e31cd38bc5
feat: Provide details field when throwing Token ownership error
2021-09-08 13:55:52 +02:00
Joachim Van Herwegen
cc1c3d9223
feat: Support JSON errors
...
The IDP behaviour has been changed to move all error related knowledge
to the IdentityProviderHttpHandler instead of managing it
in the Interactionhandlers.
2021-09-08 13:55:52 +02:00
Joachim Van Herwegen
bbfbfbbce4
refactor: Move InteractionRoute behaviour to separate class
2021-09-08 13:55:52 +02:00
Joachim Van Herwegen
3542fe29da
feat: Remove useless fields from IDP JSON response
2021-09-08 13:55:52 +02:00
Joachim Van Herwegen
32a182dde8
feat: Add controls to IDP response JSON
...
Controls are now used in templates to prevent IDP URL hardcoding
2021-09-08 13:55:52 +02:00
Joachim Van Herwegen
d68854a474
feat: Simplify IDP routing
2021-09-08 13:55:52 +02:00
Joachim Van Herwegen
20197ea1de
feat: Generalize HTTP handler behaviour in BaseHttpHandler
2021-09-08 13:55:52 +02:00
Joachim Van Herwegen
4f1a86dfa0
feat: Convert IDP input data to JSON
2021-09-08 13:55:52 +02:00
Joachim Van Herwegen
7f3eab0b20
fix: Prevent parent containers from storing generated metadata
2021-09-08 10:19:28 +02:00
Joachim Van Herwegen
1e1edd5c67
refactor: Clean up internal storage
...
Each IDP class using storage now has a different storage.
This way those classes don't have to worry about clashing keys anymore.
All internal storage is now in the /.internal/ container,
thereby making it easier to take the location of the internal data into account:
only 1 path needs to be blocked and a regex router handling internal data
differently only has to match 1 path as well.
2021-09-08 10:01:51 +02:00
Joachim Van Herwegen
0b4e688359
Merge branch 'main' into versions/2.0.0
2021-09-03 10:09:03 +02:00
Joachim Van Herwegen
ab06dd30f3
feat: Allow filtering in ConstantConverter based on type
2021-09-02 07:56:24 +02:00
Arthur Joppart
759112bc04
feat: Support LDN inbox headers
...
* chore: add inbox mapping to metadatawriter config
* fix: correct inbox link rel
* feat: make LinkTypeParser reuseable to fit all link headers
* feat: minor code optimization
* feat: cleaned up metadata parser config
* feat: further cleanup of metadata parser config
* feat: adapted LinkMetadataParser to take a list to be in line with LinkRelMetadataWriter implementation
* feat: minor changes to be in line with other classes and code improvements
Co-authored-by: Wouter Termont <woutermont@gmail.com>
2021-08-25 12:48:13 +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
73867f0827
feat: Add BooleanHandler
...
Co-Authored-By: Ludovico Granata <Ludogranata@gmail.com>
2021-08-23 16:39:25 +02:00
Simone Persiani
0355673a0f
feat: Add function promiseSome
...
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
a062a710bc
fix: Explain why logging in will not work
2021-08-18 16:51:12 +02:00
Joachim Van Herwegen
f0f59a8f27
refactor: Move URL join utility function to PathUtil
2021-08-18 15:39:02 +02:00
Joachim Van Herwegen
80ebd02cc4
feat: Support content negotiation for IDP requests
2021-08-18 15:39:02 +02:00
Joachim Van Herwegen
7b42c72142
feat: Let InteractionCompleter return redirect URL
2021-08-18 15:39:02 +02:00
Joachim Van Herwegen
7b7040a196
feat: Use RequestParser and ResponseWriter for IDP
2021-08-18 15:39:02 +02:00
Joachim Van Herwegen
a7a22bf43a
test: Create integration tests for conditions
2021-08-18 13:16:08 +02:00
Joachim Van Herwegen
0d42987bbd
feat: Verify conditions in DataAccessorBasedStore
2021-08-18 13:16:08 +02:00
Joachim Van Herwegen
20f783a581
feat: Create conditions based on input headers
2021-08-18 13:16:08 +02:00
Joachim Van Herwegen
77d695c8b6
feat: Expose Last-Modified and ETag headers
2021-08-18 13:16:08 +02:00
Joachim Van Herwegen
97c534b2bf
feat: Keep track of last modified date of resources
2021-08-18 13:16:08 +02:00
Joachim Van Herwegen
47b3a2d77f
fix: Allow clients to be remembered in the SessionHttpHandler
2021-08-17 16:58:56 +02:00
Joachim Van Herwegen
f71f8683fc
feat: Indicate to templates if this is part of an auth request
2021-08-16 09:39:02 +02:00
Joachim Van Herwegen
cb227d6431
feat: Throw error when trying to complete interaction out of session
2021-08-16 09:39:02 +02:00