solid / authorization-panel

Github repository for the Solid Authorization Panel
MIT License
19 stars 20 forks source link

List of WAC implementations #139

Open bblfish opened 3 years ago

bblfish commented 3 years ago

It would be helpful to have a document listing all the servers and clients libraries that implemented the WAC starting from the acl ontology. Also useful would be for each of those to have some idea how they may have diverged from the ontology.

bblfish commented 3 years ago

I implemented rww-play using the ACL ontology. I extended it with regular expressions for resources, but now realise that was not needed, as the ACP method of just using the Link relation is a better solution. The server allowed WebID-TLS authentication, as well as HTTP-Signature and I tested this with the Web-Crypto API in the browser. Note the HTTP-Signature spec has now been taken over by the HTTP-bis working group (see signing HTTP Messages).

csarven commented 3 years ago

https://www.w3.org/wiki/WebAccessControl#Implementations includes some. The wiki hasn't been updated for awhile though.

https://dokie.li/ used to create ACLs - its function is not currently called but I can bring that back in. Implements WAC-Allow.

I was close to implementing Signing HTTP Messages in dokieli around the time we were reviewing the spec :S Got sidetracked. Perhaps we should revisit https://github.com/solid/authentication-panel/blob/master/HttpSignature.md ?

Vinnl commented 3 years ago

I implemented support in a client library (@inrupt/solid-client). The implementation can be seen here: https://github.com/inrupt/solid-client-js/tree/master/src/acl

I did not (intentionally, at least :) ) diverge from the ontology.

acoburn commented 3 years ago

I wrote the initial WAC implementation for Fedora circa 2015 -- there are many differences between this and the Solid implementation though it is based on the ACL ontology. I have also implemented (and maintain) the WAC implementation for Trellis, which attempts to follow the Solid design.

michielbdejong commented 3 years ago

Test suite for WAC: https://github.com/solid/web-access-control-tests Servers that support WAC: https://github.com/solid/test-suite#web-access-control-tests-version-21 Solid operating systems ;) that support WAC: https://github.com/solid/solidos

jeff-zucker commented 3 years ago

Possibly irrelevant : solid-rest will allow a backend to pass access information. Currently this means that, for file:// URLs, it checks the native file system permissions and sends a wac-allow header based on the local permissions. For example, write perms on *nix get sent back as a wac-allow header of user="Write Append Control".