Ruben Verborgh
9c52011add
fix: Accept lowercase Authorization tokens.
2021-12-03 12:07:00 +01:00
Joachim Van Herwegen
11192ed4df
Merge branch 'main' into versions/3.0.0
2021-11-22 09:20:41 +01:00
Ruben Verborgh
c13456c225
fix: Make UnionCredentialsExtractor tolerate failures.
...
Fixes https://github.com/solid/community-server/issues/1031
2021-11-11 12:48:39 +00:00
Joachim Van Herwegen
fc60b5c161
feat: Update IDP parameters to latest Solid-OIDC version
2021-11-08 11:39:16 +01:00
Joachim Van Herwegen
4d319d2564
fix: Handle JSON preferences correctly in dynamic converter
2021-11-08 10:16:28 +01:00
Joachim Van Herwegen
c6544fac1d
fix: Prefer all inputs equally when generating quads
2021-11-08 10:16:28 +01:00
Ruben Verborgh
ed287ffade
test: Add content negotiation integration tests
2021-11-08 10:16:28 +01:00
Joachim Van Herwegen
d52aa94e53
feat: Add "no conversion" as possible path in ChainedConverter
2021-11-08 10:16:28 +01:00
Joachim Van Herwegen
fdd42bb7b3
feat: Add ContentTypeReplacer to conversion chain
2021-11-08 10:16:28 +01:00
Joachim Van Herwegen
fa94c7d4bb
feat: Determine Typed Converter output based on input type
2021-11-08 10:16:28 +01:00
Joachim Van Herwegen
27306d6e3f
refactor: Create BaseTypedRepresentationConverter
2021-11-08 10:16:28 +01:00
Renovate Bot
2e99cc9934
fix(deps): update dependency sparqlalgebrajs to v4
2021-11-05 16:07:20 +01:00
Joachim Van Herwegen
9f0973b039
fix: Linter warnings
2021-11-05 15:59:28 +01:00
Ruben Verborgh
b42150cf52
fix: Allow URLs with multiple leading slashes.
...
Fixes https://github.com/solid/community-server/issues/1025
2021-10-25 23:42:16 +02:00
Ruben Verborgh
2e4589938f
feat: Display symlinks in container listings.
...
Closes https://github.com/solid/community-server/issues/1015
2021-10-21 17:26:54 +01:00
Wout Slabbinck
54ccbed48d
fix: Added a content-type parser to HeaderUtil
...
* fixes #995
* fixed the remarks and added a test for parseContentType
* refactor: remove unnecessary comment
Co-authored-by: woutslabbinck <wout.slabbinck@ugent.com>
2021-10-15 13:13:37 +02:00
Ruben Verborgh
6d985a65d0
chore: Update configs to v2.0.0.
2021-10-15 10:50:32 +02:00
Joachim Van Herwegen
fb3a59c054
fix: Return 409 when there is a slash semantics issue
2021-10-15 09:15:49 +02:00
Joachim Van Herwegen
76c87bb56a
fix: Return 201 when creating new resources
2021-10-12 15:44:31 +02: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
012d9e0864
Merge branch 'main' into versions/2.0.0
2021-10-11 15:35:54 +02:00
Joachim Van Herwegen
d2f6141c29
chore: Run conformance tests on upcoming version
2021-10-11 15:33:18 +02:00
Joachim Van Herwegen
7c7fee5f5c
refactor: Rename associated resource to subject resource
2021-10-08 15:49:49 +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
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