solid / solid/specification

how does one create an Access Control Resource?

Open
#259 6 comments 0 reactions 1 assignee View on GitHub

@csarven is already working on this.

Since May 17, 2021.

doc: Protocol status: Waiting for Commenter topic: authorization
Dominant language
HTML
Stars
563
Forks
108
Avg merge
4d 13h
Merged PRs (30d)
3

Description

There is no mechanism for specifying how to create an Access Control Resource (ACR) attached to an ldp:Resource, in the WAC spec, as far as I can see.

acp:default allows one to state what a default ACR for a resource is, and the whole WAC inheritance algorithm says what one should do if a resource does not have an ACR: where to look for one. But it does not tell one how one creates an ACR for a resource.

One way to solve the problem is as ACP does: require that every resource has its own ACR. The acl:default can then be used to fill in the new ACR with the default access control rule. (And it would explain the old acl:defaultForNew name).

Without such a behavior the concept of acl:default does not quite make sense: for how would a client create an ACR to begin with, that could override the default? Link relations could only ever link to the ACR containing the default, and so one could not change the default.

One could perhaps think of allowing clients to POST content with a Link: ldp:AccessControl rel=type header to a resource to create one. Perhaps that is when default rules apply? Only users with control rights as default could create those resources?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.