213 Commits

Author SHA1 Message Date
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
13c49045d4 feat: Support acl authorization for IDP components
Configuration has been updated so the IDP requests
also pass through an Authorization component.
A new config option was added to choose
which authorization scheme to use for the IDP.
2021-10-07 15:51:11 +02:00
Joachim Van Herwegen
9968f2ae5b feat: Generalize RootInitializer to ContainerInitializer
The initializer can now be used for any container.
The initializer also does not handle the repeat check anymore,
this is now configured with a ConditionalHandler.
2021-10-07 15:51:11 +02:00
Joachim Van Herwegen
bb7e88b137 refactor: Split HttpHandler behaviour over multiple classes
This allows easier reuse of certain reoccurring behaviours,
such as authorization.
The AuthenticatedLdpHandler is no longer required
since it is a combination of parsing and authorization.
This did require a small change to the OperationHandler interface.
2021-10-07 15:51:11 +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
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
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
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
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
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
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
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
Joachim Van Herwegen
80ebd02cc4 feat: Support content negotiation for IDP requests 2021-08-18 15:39:02 +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
Ruben Verborgh
702ac7887e fix: Add missing exports. 2021-08-04 17:10:11 +02:00
Joachim Van Herwegen
18a71032c0 feat: Create ChainedTemplateEngine for combining engines 2021-08-03 12:52:30 +02:00
Joachim Van Herwegen
9d337ba80c feat: Moved IDP response and template behaviour to single class 2021-08-02 11:29:33 +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
Joachim Van Herwegen
3bb7a32c0c feat: Add support for client_id WebIDs 2021-07-23 16:44:50 +02:00
Joachim Van Herwegen
0e67004ef4 feat: Store reset password ID in the submit URL 2021-07-23 16:08:28 +02:00
Joachim Van Herwegen
bd10256e59 fix: Make sure there is always a fallback for error handling 2021-07-23 14:48:27 +02:00
Joachim Van Herwegen
c2ad892020 feat: Create RootInitializer to set up root resources 2021-07-22 15:08:28 +02:00
Ruben Verborgh
1394b9cb56 feat: Add HTML container listing. 2021-07-22 14:35:14 +02:00
Ruben Verborgh
9628fe98b8 refactor: Align EJS engine with Handlebars. 2021-07-22 11:12:21 +02:00
Ruben Verborgh
19624dc729 refactor: Allow default template in template engines. 2021-07-22 11:12:21 +02:00
Joachim Van Herwegen
cc1e332394 feat: Add IndexRepresentationStore to support index resources 2021-07-15 11:21:07 +02:00
Joachim Van Herwegen
fdc52f50e5 feat: Simplify and merge OIDC configurations 2021-07-12 13:49:57 +02:00
Joachim Van Herwegen
f2f967ff8a feat: Convert errorCodes using markdown 2021-07-06 16:42:06 +02:00
Joachim Van Herwegen
5edbbc1958 chore: Update dependencies 2021-06-30 10:24:13 +02:00
Joachim Van Herwegen
25f33ee4cd feat: Create base ConvertingPatchHandler abstract class 2021-06-28 10:03:10 +02:00
Joachim Van Herwegen
e8a0f63e02 feat: Add App class to start and stop the server 2021-06-14 16:11:56 +02:00
Joachim Van Herwegen
9c0fa77527 feat: Add ErrorToHtmlConverter using templates 2021-06-14 12:59:56 +02:00
Joachim Van Herwegen
e3c5b39752 feat: Create WWW-Authenticate metadata writer 2021-06-07 14:40:05 +02:00