diff --git a/config/ldp/metadata-writer/writers/wac-allow.json b/config/ldp/authorization/acl/wac-allow.json similarity index 100% rename from config/ldp/metadata-writer/writers/wac-allow.json rename to config/ldp/authorization/acl/wac-allow.json diff --git a/config/ldp/authorization/webacl.json b/config/ldp/authorization/webacl.json index 82283a9e1..d0feb536e 100644 --- a/config/ldp/authorization/webacl.json +++ b/config/ldp/authorization/webacl.json @@ -1,6 +1,7 @@ { "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^5.0.0/components/context.jsonld", "import": [ + "css:config/ldp/authorization/acl/wac-allow.json", "css:config/ldp/authorization/readers/acl.json", "css:config/ldp/authorization/readers/ownership.json" ], @@ -37,6 +38,22 @@ "@type": "SubfolderResourcesGenerator", "subfolders": [ "wac" ] }, + { + "comment": "Collects the metadata necessary for the WAC-Allow header.", + "@id": "urn:solid-server:default:OperationMetadataCollector", + "@type": "SequenceHandler", + "handlers": [ + { "@type": "WebAclMetadataCollector" } + ] + }, + { + "comment": "WAC-Allow header indicates available permissions.", + "@id": "urn:solid-server:default:MetadataWriter", + "@type": "ParallelHandler", + "handlers": [ + { "@id": "urn:solid-server:default:MetadataWriter_WacAllow" } + ] + }, { "comment": "In case of WebACL authorization the ACL resources determine authorization.", "@id": "urn:solid-server:default:AuthResourceHttpHandler", diff --git a/config/ldp/handler/components/operation-metadata.json b/config/ldp/handler/components/operation-metadata.json index 42c81820b..69d01f4b4 100644 --- a/config/ldp/handler/components/operation-metadata.json +++ b/config/ldp/handler/components/operation-metadata.json @@ -2,8 +2,10 @@ "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^5.0.0/components/context.jsonld", "@graph": [ { + "comment": "Contains the necessary metadata collectors. Contents depend on authorization scheme.", "@id": "urn:solid-server:default:OperationMetadataCollector", - "@type": "WebAclMetadataCollector" + "@type": "SequenceHandler", + "handlers": [] } ] } diff --git a/config/ldp/metadata-writer/default.json b/config/ldp/metadata-writer/default.json index a8551fff9..3622725bf 100644 --- a/config/ldp/metadata-writer/default.json +++ b/config/ldp/metadata-writer/default.json @@ -7,7 +7,6 @@ "css:config/ldp/metadata-writer/writers/link-rel-metadata.json", "css:config/ldp/metadata-writer/writers/mapped.json", "css:config/ldp/metadata-writer/writers/modified.json", - "css:config/ldp/metadata-writer/writers/wac-allow.json", "css:config/ldp/metadata-writer/writers/www-auth.json" ], "@graph": [ @@ -22,7 +21,6 @@ { "@id": "urn:solid-server:default:MetadataWriter_LinkRelMetadata" }, { "@id": "urn:solid-server:default:MetadataWriter_Mapped" }, { "@id": "urn:solid-server:default:MetadataWriter_Modified" }, - { "@id": "urn:solid-server:default:MetadataWriter_WacAllow" }, { "@id": "urn:solid-server:default:MetadataWriter_WwwAuth" } ] }