Joachim Van Herwegen
4da1b1cc7d
docs: Document new features and config changes for 2.0.0
2021-10-15 10:30:56 +02:00
Ruben Verborgh
d2fbcdd4d2
docs: Clarify solutions to wrong base URL.
2021-10-15 10:28:42 +02:00
Ruben Verborgh
a188bf1c6f
docs: Explain how to log in.
...
Closes https://github.com/solid/community-server/pull/970
2021-10-15 10:28: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
f1ef2ced03
docs: Add routing config for sparql endpoint and storage
...
Due to key/value stores using JSON objects,
the SPARQL resource store can not be used to store them,
meaning the only out of the box solution that works is memory storage.
This config makes it so file storage can be used for internal storage
while still having a SPARQL backend.
2021-10-12 13:13:09 +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
7e8e442e52
docs: Remove outdated example
2021-10-05 11:45:07 +02:00
Joachim Van Herwegen
f40e2c768f
fix: Add required triple to pod README acl
2021-10-01 11:32: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
cfa70011f6
chore: Remove merge file
2021-09-21 15:28:20 +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
80713de223
chore: Fix dependency vulnerabilities
2021-09-16 13:06:29 +02:00
Matthieu Bosquet
a2527d88c4
chore(deps): Update access-token-verifier
2021-09-15 08:18:38 +02:00
Joachim Van Herwegen
0271133d33
fix: Hide internal data by making it auxiliary
2021-09-14 10:51:37 +02:00
Renovate Bot
9cbf71dcb0
chore(deps): update dependency typedoc to ^0.22.0
2021-09-14 09:17:43 +02:00
Ruben Verborgh
c9d09abebc
docs: Update AsyncHandler documentation.
2021-09-09 08:11:47 +01: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
దామోదర
a75d5aa63c
fix: Make json-ld prefix generation deterministic
2021-09-08 12:08:31 +02:00
Joachim Van Herwegen
7f3eab0b20
fix: Prevent parent containers from storing generated metadata
2021-09-08 10:19:28 +02:00