Hi, thank you both for your responses.
I am testing it on the following file:
https://jenda.inrupt.net/private/test6.ttl
The https://jenda.inrupt.net//profile/card#me user can access it normally, but the https://jenda2.solidcommunity.net/profile/card#me is unable to do so. The ACL file looks like this:
@prefix : <#>.
@prefix n0: <http://www.w3.org/ns/auth/acl#>.
@prefix c: </profile/card#>.
@prefix n1: <http://xmlns.com/foaf/0.1/>.
@prefix c0: <https://jenda2.solidcommunity.net/profile/card#>.
:162358414343406647702462499261
a n0:Authorization;
n0:agent c:me;
n0:default <test6.ttl>;
n0:mode n0:Control, n0:Read, n0:Write.
:16235841434359916942851373513
a n0:Authorization;
n0:accessTo <test6.ttl>;
n0:agent c:me;
n0:mode n0:Control, n0:Read, n0:Write.
:1623584144770047905421864635866
a n0:Authorization;
n0:agent c0:me;
n0:default <test6.ttl>;
n0:mode n0:Control, n0:Read, n0:Write.
:1623584144770057401164870901744
a n0:Authorization;
n0:accessTo <test6.ttl>;
n0:agent c0:me;
n0:mode n0:Control, n0:Read, n0:Write.
:public
a n0:Authorization;
n0:accessTo <test6.ttl>;
n0:agentClass n1:Agent;
n0:mode n0:Read.
Here are the headers, when the user is not logged in. (In this case a default rdflib fetch is used, not the fetch form the auth library):
Request:
GET /private/test6.ttl HTTP/1.1
Host: jenda.inrupt.net
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:89.0) Gecko/20100101 Firefox/89.0
Accept: */*
Accept-Language: cs,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Origin: http://localhost:3000
DNT: 1
Connection: keep-alive
Referer: http://localhost:3000/
Pragma: no-cache
Cache-Control: no-cache
Response:
HTTP/1.1 200 OK
X-Powered-By: solid-server/5.6.6
Access-Control-Allow-Origin: http://localhost:3000
Vary: Accept, Authorization, Origin
Access-Control-Allow-Credentials: true
Access-Control-Expose-Headers: Authorization, User, Location, Link, Vary, Last-Modified, ETag, Accept-Patch, Accept-Post, Updates-Via, Allow, WAC-Allow, Content-Length, WWW-Authenticate, MS-Author-Via, X-Powered-By
Allow: OPTIONS, HEAD, GET, PATCH, POST, PUT, DELETE
Link: <test6.ttl.acl>; rel="acl", <test6.ttl.meta>; rel="describedBy", <http://www.w3.org/ns/ldp#Resource>; rel="type"
WAC-Allow: user="read",public="read"
MS-Author-Via: SPARQL
Updates-Via: wss://jenda.inrupt.net
Content-Type: text/turtle
Date: Tue, 15 Jun 2021 20:41:42 GMT
Connection: keep-alive
Transfer-Encoding: chunked
Here is the same request, when https://jenda.inrupt.net//profile/card#me is logged in (I censored the contents of the cookie what I guess is probably a session token):
Request:
GET /private/test6.ttl HTTP/1.1
Host: jenda.inrupt.net
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:89.0) Gecko/20100101 Firefox/89.0
Accept: */*
Accept-Language: cs,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Origin: http://localhost:3000
DNT: 1
Connection: keep-alive
Referer: http://localhost:3000/
Cookie: nssidp.sid=THIS_TOKEN_IS_PROBABLY_PRIVATE_SO_I_CENSORED_IT_HERE
Pragma: no-cache
Cache-Control: no-cache
Response:
HTTP/1.1 200 OK
X-Powered-By: solid-server/5.6.6
Access-Control-Allow-Origin: http://localhost:3000
Vary: Accept, Authorization, Origin
Access-Control-Allow-Credentials: true
Access-Control-Expose-Headers: Authorization, User, Location, Link, Vary, Last-Modified, ETag, Accept-Patch, Accept-Post, Updates-Via, Allow, WAC-Allow, Content-Length, WWW-Authenticate, MS-Author-Via, X-Powered-By
Allow: OPTIONS, HEAD, GET, PATCH, POST, PUT, DELETE
Link: <test6.ttl.acl>; rel="acl", <test6.ttl.meta>; rel="describedBy", <http://www.w3.org/ns/ldp#Resource>; rel="type"
WAC-Allow: user="read write append control",public="read"
MS-Author-Via: SPARQL
Updates-Via: wss://jenda.inrupt.net
Content-Type: text/turtle
Set-Cookie: nssidp.sid=THIS_TOKEN_IS_PROBABLY_PRIVATE_SO_I_CENSORED_IT_HERE; Domain=.inrupt.net; Path=/; Expires=Wed, 16 Jun 2021 20:43:49 GMT; HttpOnly; Secure
Date: Tue, 15 Jun 2021 20:43:49 GMT
Connection: keep-alive
Transfer-Encoding: chunked
…and finally, here is the same request, when https://jenda2.solidcommunity.net/profile/card#me is logged in instead:
Request (looks unauthenticated to me - no session token or anything similar):
GET /private/test6.ttl HTTP/1.1
Host: jenda.inrupt.net
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:89.0) Gecko/20100101 Firefox/89.0
Accept: */*
Accept-Language: cs,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Origin: http://localhost:3000
DNT: 1
Connection: keep-alive
Referer: http://localhost:3000/
Pragma: no-cache
Cache-Control: no-cache
Response:
HTTP/1.1 200 OK
X-Powered-By: solid-server/5.6.6
Access-Control-Allow-Origin: http://localhost:3000
Vary: Accept, Authorization, Origin
Access-Control-Allow-Credentials: true
Access-Control-Expose-Headers: Authorization, User, Location, Link, Vary, Last-Modified, ETag, Accept-Patch, Accept-Post, Updates-Via, Allow, WAC-Allow, Content-Length, WWW-Authenticate, MS-Author-Via, X-Powered-By
Allow: OPTIONS, HEAD, GET, PATCH, POST, PUT, DELETE
Link: <test6.ttl.acl>; rel="acl", <test6.ttl.meta>; rel="describedBy", <http://www.w3.org/ns/ldp#Resource>; rel="type"
WAC-Allow: user="read",public="read"
MS-Author-Via: SPARQL
Updates-Via: wss://jenda.inrupt.net
Content-Type: text/turtle
Date: Tue, 15 Jun 2021 20:51:56 GMT
Connection: keep-alive
Transfer-Encoding: chunked
Both users logged in the same way using the oidcIssuer
option of the login
method from the @inrupt/solid-client-authn-browser
library.
I will try to create a minimal example to ensure it is not caused by some weirdness in unrelated code.