Open gklyne opened 5 years ago
{
"root": "/Users/graham/solid/data",
"port": "8443",
"serverUri": "https://localhost:8443",
"webid": true,
"mount": "/",
"configPath": "./config",
"configFile": "./config.json",
"dbPath": "./.db",
"sslKey": "../solid-certs/localhost.key",
"sslCert": "../solid-certs/localhost.crt",
"multiuser": false,
"server": {
"name": "localhost",
"description": "",
"logo": ""
}
}
If I content negotiate the webId URL (minus fragment) for text/turtle
, no error happens:
$ curl -vk -H "accept: text/turtle" https://localhost:8443/profile/card
* Trying ::1...
* Connected to localhost (::1) port 8443 (#0)
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
* Server certificate: localhost
> GET /profile/card HTTP/1.1
> Host: localhost:8443
> User-Agent: curl/7.43.0
> accept: text/turtle
>
< HTTP/1.1 200 OK
< X-Powered-By: solid-server
< 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
< Allow: OPTIONS, HEAD, GET, PATCH, POST, PUT, DELETE
< Link: <card.acl>; rel="acl", <card.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://localhost:8443
< Content-Type: text/turtle
< Date: Fri, 08 Feb 2019 12:10:48 GMT
< Connection: keep-alive
< Transfer-Encoding: chunked
<
@prefix solid: <http://www.w3.org/ns/solid/terms#>.
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
@prefix pim: <http://www.w3.org/ns/pim/space#>.
@prefix schema: <http://schema.org/>.
@prefix ldp: <http://www.w3.org/ns/ldp#>.
<>
a foaf:PersonalProfileDocument ;
foaf:maker <https://localhost:8443/profile/card#me> ;
foaf:primaryTopic <https://localhost:8443/profile/card#me> .
<https://localhost:8443/profile/card#me>
a foaf:Person ;
a schema:Person ;
foaf:name "Graham Klyne" ;
solid:account </> ; # link to the account uri
pim:storage </> ; # root storage
ldp:inbox </inbox/> ;
pim:preferencesFile </settings/prefs.ttl> ; # private settings/preferences
solid:publicTypeIndex </settings/publicTypeIndex.ttl> ;
solid:privateTypeIndex </settings/privateTypeIndex.ttl> .
* Connection #0 to host localhost left intact
Thank you for a very thorough report!
Just one thing that might help, could you please add more debugging when starting the server, e.g.:
DEBUG=solid:* npx solid start
(actually, I hadn't heard of npx, so I haven't tested the above line, but I think it would work)
The problem appears to be triggered by the "authorization" header:
$ curl -vk -H "accept: text/html" -H "authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiIwODMyMWZkYjk4MmM4MTI4YzhkMGQwMjBhMWUwNThlNSIsImF1ZCI6Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMiLCJleHAiOjE1NDk2MzE3OTgsImlhdCI6MTU0OTYyODE5OCwiaWRfdG9rZW4iOiJleUpoYkdjaU9pSlNVekkxTmlJc0ltdHBaQ0k2SWs1SFlUaGlUSFU0YkVsbkluMC5leUpwYzNNaU9pSm9kSFJ3Y3pvdkwyeHZZMkZzYUc5emREbzRORFF6SWl3aWMzVmlJam9pYUhSMGNITTZMeTlzYjJOaGJHaHZjM1E2T0RRME15OXdjbTltYVd4bEwyTmhjbVFqYldVaUxDSmhkV1FpT2lJd09ETXlNV1prWWprNE1tTTRNVEk0WXpoa01HUXdNakJoTVdVd05UaGxOU0lzSW1WNGNDSTZNVFUxTURjM05qUXdOQ3dpYVdGMElqb3hOVFE1TlRZMk9EQTBMQ0pxZEdraU9pSXlZV0kxTUdJNU5UVXdZek13WTJRMElpd2libTl1WTJVaU9pSlpRemhPVlVrMFNFOUdVVEk0Y21oRlMyTndiMmxCY0VkeE1HWm5XbGMxWkZCNlRrVklWVE5LVTBvd0lpd2lZWHB3SWpvaU1EZ3pNakZtWkdJNU9ESmpPREV5T0dNNFpEQmtNREl3WVRGbE1EVTRaVFVpTENKamJtWWlPbnNpYW5kcklqcDdJbUZzWnlJNklsSlRNalUySWl3aVpTSTZJa0ZSUVVJaUxDSmxlSFFpT25SeWRXVXNJbXRsZVY5dmNITWlPbHNpZG1WeWFXWjVJbDBzSW10MGVTSTZJbEpUUVNJc0ltNGlPaUo1T1Radk5sQlVRbFJsYmtKdWFFNVllbFpNT1VOeFdURXhWVWt4TlU1S09YUjFjVXhMVmxkU09FZzBhVkJLVTFVMlMyZ3hkMGg2ZURSSk9YcG9TREZSWVZOeGVGSjJlVXBVUlZkMU9VTkJiVkl4VUZKWmVEVnBUalZWZVRoWlJ6WmFlRFprYkU1dFEzazFTRlJvUTFSVVExVlpjbmhOVjNaUlZEQm1jVFl5UVZOTWJWbFZWM0ZpWjJnNGVreElWR2hHTm1sR05VRlFlVXRhWWkxSlpUTTFORU13ZGsxUVdEbDBTMnBtTlVSMFkxZFZSVU5RT1doVUxYVmlUemxmUWs5NkxUZElUMUo1T0VOZmVXZGpla0YyZFMxclgyaHhPVEZsVkZGdFEyaG9ZbkkxWmtab09EWkxRVTl1ZDJRNVVrUk9hRVJuT0ZoTmVIbHdRa3h2VEZSa1IxTktXbXczVFdkd1JrRnNVVTUwY2twbVYwSmZlbmR3VUdrMFNucHFZemd6V2pCc0xWQnljV2t0UjJkUE5IVjFURGxyZHkwM2VVdFdWRzFITVcxTlRUaHdjMnBZTjJsdU1qZHBTblV6WW1kNE1XVktMVkVpZlgwc0ltRjBYMmhoYzJnaU9pSm9lazB5VDB4bldGOWFSVFJsY1ZRNE4wRmZPRkJSSW4wLlZxNllycGlzWng1U1FBRFk3SHk1d1BYbExyMVpaSTF5OG1lN1FvSDQ4MkxxaTE5a2dWeGl1SEhkUm5GWDNpYkpkQk1YM1Q5SzYwZVRRbFpBWmdIcVJwMnF1aWdYN3F3dDNXbnFSUWlHNThLU0Zxc0l6VkdILWd1dnVySnBfSVBQekVVYmVfN25JUjNjRTZkYkVxTWpHM1lrWDNyalV5d2d5MHRtbnNFaURnQXhjUjUtOHhiaUpad1NUMXotYVRxWDI3RFlIaEY1Y0pNU3NmVUhkNzZFSkl1bHo3dVh0VkZrbV9ERmxCS3JIaDQ1c3g0ZjV2T2NKN2phOGw0MWhOVVl2SUtNWGEzaldMT3poMVdWWVRLM1hKQ0dPTTEwS1lJbGJZSEJTWjVHNjJRYnFDckUyc0RsNHlwV2VzVVgzY19ka1Nuc1VRRFhtdjU3MjJWbEpjVEtCZyIsInRva2VuX3R5cGUiOiJwb3AifQ.gDuqSMwBk8etxHTMkftFH6hZXWKto1ZaMolkQBsqu2OAt6XwQIHSPTijtNDGu9BQJSITDuSFHED5RpXW7tTqeoazdwp1XhuiSByera-pPnc2ngFwF6NiVZuQn0DD_SwfBkZTACJn0lmNY9E5VZkD_ShMSPe0BakEacRgFhKLJ3X-bfMDL-P9bn78xmitaK1ZZOHeXkUxtGyxKAezpYOhR1rr8qJ5IcISfcJzsciVisydUfsO6uf0xj7k1ISP4SV4jU8xlEjPf-u9FqYxVastJU9KRIg_jYoez8e6xXWdEPrBlS0V3v8yM9cWWPQfLW8uaT2chhNBF7IJSsy8dFwwdA" https://localhost:8443/profile/card
* Trying ::1...
* Connected to localhost (::1) port 8443 (#0)
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
* Server certificate: localhost
> GET /profile/card HTTP/1.1
> Host: localhost:8443
> User-Agent: curl/7.43.0
> accept: text/html
> authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiIwODMyMWZkYjk4MmM4MTI4YzhkMGQwMjBhMWUwNThlNSIsImF1ZCI6Imh0dHBzOi8vbG9jYWxob3N0Ojg0NDMiLCJleHAiOjE1NDk2MzE3OTgsImlhdCI6MTU0OTYyODE5OCwiaWRfdG9rZW4iOiJleUpoYkdjaU9pSlNVekkxTmlJc0ltdHBaQ0k2SWs1SFlUaGlUSFU0YkVsbkluMC5leUpwYzNNaU9pSm9kSFJ3Y3pvdkwyeHZZMkZzYUc5emREbzRORFF6SWl3aWMzVmlJam9pYUhSMGNITTZMeTlzYjJOaGJHaHZjM1E2T0RRME15OXdjbTltYVd4bEwyTmhjbVFqYldVaUxDSmhkV1FpT2lJd09ETXlNV1prWWprNE1tTTRNVEk0WXpoa01HUXdNakJoTVdVd05UaGxOU0lzSW1WNGNDSTZNVFUxTURjM05qUXdOQ3dpYVdGMElqb3hOVFE1TlRZMk9EQTBMQ0pxZEdraU9pSXlZV0kxTUdJNU5UVXdZek13WTJRMElpd2libTl1WTJVaU9pSlpRemhPVlVrMFNFOUdVVEk0Y21oRlMyTndiMmxCY0VkeE1HWm5XbGMxWkZCNlRrVklWVE5LVTBvd0lpd2lZWHB3SWpvaU1EZ3pNakZtWkdJNU9ESmpPREV5T0dNNFpEQmtNREl3WVRGbE1EVTRaVFVpTENKamJtWWlPbnNpYW5kcklqcDdJbUZzWnlJNklsSlRNalUySWl3aVpTSTZJa0ZSUVVJaUxDSmxlSFFpT25SeWRXVXNJbXRsZVY5dmNITWlPbHNpZG1WeWFXWjVJbDBzSW10MGVTSTZJbEpUUVNJc0ltNGlPaUo1T1Radk5sQlVRbFJsYmtKdWFFNVllbFpNT1VOeFdURXhWVWt4TlU1S09YUjFjVXhMVmxkU09FZzBhVkJLVTFVMlMyZ3hkMGg2ZURSSk9YcG9TREZSWVZOeGVGSjJlVXBVUlZkMU9VTkJiVkl4VUZKWmVEVnBUalZWZVRoWlJ6WmFlRFprYkU1dFEzazFTRlJvUTFSVVExVlpjbmhOVjNaUlZEQm1jVFl5UVZOTWJWbFZWM0ZpWjJnNGVreElWR2hHTm1sR05VRlFlVXRhWWkxSlpUTTFORU13ZGsxUVdEbDBTMnBtTlVSMFkxZFZSVU5RT1doVUxYVmlUemxmUWs5NkxUZElUMUo1T0VOZmVXZGpla0YyZFMxclgyaHhPVEZsVkZGdFEyaG9ZbkkxWmtab09EWkxRVTl1ZDJRNVVrUk9hRVJuT0ZoTmVIbHdRa3h2VEZSa1IxTktXbXczVFdkd1JrRnNVVTUwY2twbVYwSmZlbmR3VUdrMFNucHFZemd6V2pCc0xWQnljV2t0UjJkUE5IVjFURGxyZHkwM2VVdFdWRzFITVcxTlRUaHdjMnBZTjJsdU1qZHBTblV6WW1kNE1XVktMVkVpZlgwc0ltRjBYMmhoYzJnaU9pSm9lazB5VDB4bldGOWFSVFJsY1ZRNE4wRmZPRkJSSW4wLlZxNllycGlzWng1U1FBRFk3SHk1d1BYbExyMVpaSTF5OG1lN1FvSDQ4MkxxaTE5a2dWeGl1SEhkUm5GWDNpYkpkQk1YM1Q5SzYwZVRRbFpBWmdIcVJwMnF1aWdYN3F3dDNXbnFSUWlHNThLU0Zxc0l6VkdILWd1dnVySnBfSVBQekVVYmVfN25JUjNjRTZkYkVxTWpHM1lrWDNyalV5d2d5MHRtbnNFaURnQXhjUjUtOHhiaUpad1NUMXotYVRxWDI3RFlIaEY1Y0pNU3NmVUhkNzZFSkl1bHo3dVh0VkZrbV9ERmxCS3JIaDQ1c3g0ZjV2T2NKN2phOGw0MWhOVVl2SUtNWGEzaldMT3poMVdWWVRLM1hKQ0dPTTEwS1lJbGJZSEJTWjVHNjJRYnFDckUyc0RsNHlwV2VzVVgzY19ka1Nuc1VRRFhtdjU3MjJWbEpjVEtCZyIsInRva2VuX3R5cGUiOiJwb3AifQ.gDuqSMwBk8etxHTMkftFH6hZXWKto1ZaMolkQBsqu2OAt6XwQIHSPTijtNDGu9BQJSITDuSFHED5RpXW7tTqeoazdwp1XhuiSByera-pPnc2ngFwF6NiVZuQn0DD_SwfBkZTACJn0lmNY9E5VZkD_ShMSPe0BakEacRgFhKLJ3X-bfMDL-P9bn78xmitaK1ZZOHeXkUxtGyxKAezpYOhR1rr8qJ5IcISfcJzsciVisydUfsO6uf0xj7k1ISP4SV4jU8xlEjPf-u9FqYxVastJU9KRIg_jYoez8e6xXWdEPrBlS0V3v8yM9cWWPQfLW8uaT2chhNBF7IJSsy8dFwwdA
>
< HTTP/1.1 500 Internal Server Error
< X-Powered-By: solid-server
< 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
< Allow: OPTIONS, HEAD, GET, PATCH, POST, PUT, DELETE
< Content-Type: text/plain; charset=utf-8
< Content-Length: 122
< ETag: W/"7a-72gcDOmD3i20MzjjccyAwm9PzK8"
< Date: Fri, 08 Feb 2019 12:22:25 GMT
< Connection: keep-alive
<
request to https://localhost:8443/.well-known/openid-configuration failed, reason: unable to verify the first certificate
* Connection #0 to host localhost left intact
That's the incantation I was looking for!
Here's the server log from startup to accessing the WebID URL:
nerthus:solid graham$ DEBUG=solid:* npx solid start
solid:settings Server URI: https://localhost:8443 +0ms
solid:settings Auth method: oidc +1ms
solid:settings Strict origins: true +0ms
solid:settings Allowed origins: https://apps.solid.invalid +0ms
solid:settings Db path: ./.db +0ms
solid:settings Config path: ./config +0ms
solid:settings Suffix Acl: .acl +0ms
solid:settings Suffix Meta: .meta +0ms
solid:settings Filesystem Root: /Users/graham/solid/data +1ms
solid:settings Allow WebID authentication: true +0ms
solid:settings Live-updates: true +0ms
solid:settings Multi-user: false +0ms
solid:settings Suppress default data browser app: undefined +0ms
solid:settings Default data browser app file path: default +0ms
solid:settings Base URL (--mount): / +10ms
solid:settings SSL Private Key path: ../solid-certs/localhost.key +0ms
solid:settings SSL Certificate path: ../solid-certs/localhost.crt +0ms
Solid server () running on https://localhost:8443/
Press <ctrl>+c to stop
solid:authentication Provider keys loaded from config +18ms
solid:authentication Provider keychain initialized +173ms
solid:authentication Not sleeping before client registration... +3ms
solid:authentication Client not present for issuer https://localhost:8443, initializing new client +3ms
solid:authentication Registering new client for issuer https://localhost:8443 +0ms
solid:authentication Error registering a new client: { FetchError: request to https://localhost:8443/.well-known/openid-configuration failed, reason: unable to verify the first certificate
at ClientRequest.<anonymous> (/Users/graham/solid/node_modules/node-fetch/lib/index.js:1444:11)
at ClientRequest.emit (events.js:189:13)
at TLSSocket.socketErrorListener (_http_client.js:392:9)
at TLSSocket.emit (events.js:189:13)
at emitErrorNT (internal/streams/destroy.js:82:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
at process._tickCallback (internal/process/next_tick.js:63:19)
message:
'request to https://localhost:8443/.well-known/openid-configuration failed, reason: unable to verify the first certificate',
type: 'system',
errno: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE',
code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE' } +65ms
solid:authentication Error initializing local RP client: { FetchError: request to https://localhost:8443/.well-known/openid-configuration failed, reason: unable to verify the first certificate
at ClientRequest.<anonymous> (/Users/graham/solid/node_modules/node-fetch/lib/index.js:1444:11)
at ClientRequest.emit (events.js:189:13)
at TLSSocket.socketErrorListener (_http_client.js:392:9)
at TLSSocket.emit (events.js:189:13)
at emitErrorNT (internal/streams/destroy.js:82:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
at process._tickCallback (internal/process/next_tick.js:63:19)
message:
'request to https://localhost:8443/.well-known/openid-configuration failed, reason: unable to verify the first certificate',
type: 'system',
errno: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE',
code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE' } +2ms
solid:ACL Using ACL https://localhost:8443/profile/.acl for ./card +20s
solid:ACL accessDenied: checking access to <https://localhost:8443/profile/card> by null and origin null +2ms
solid:ACL 2 default authentications about <https://localhost:8443/profile/> in <https://localhost:8443/profile/.acl> +1ms
solid:ACL Checking auth <https://localhost:8443/profile/.acl#owner> with agent null +1ms
solid:ACL Agent or group: Fail: not public and not logged on. +0ms
solid:ACL The agent/group check fails +0ms
solid:ACL Check failed: User Unauthorized +0ms
solid:ACL Agent or group: Ok, its public. +0ms
solid:ACL Mode allowed: <http://www.w3.org/ns/auth/acl#Read> +0ms
solid:ACL accessDenied: modeURIorReasons: ["User Unauthorized","http://www.w3.org/ns/auth/acl#Read"] +0ms
solid:ACL checking <http://www.w3.org/ns/auth/acl#Read> +1ms
solid:ACL Mode required and allowed:<http://www.w3.org/ns/auth/acl#Read> +0ms
solid:ACL Using ACL https://localhost:8443/profile/.acl for ./card +0ms
solid:ACL Using ACL https://localhost:8443/profile/.acl for ./card +1ms
solid:ACL Using ACL https://localhost:8443/profile/.acl for ./card +0ms
solid:ACL Using ACL https://localhost:8443/profile/.acl for ./card +2ms
solid:ACL Using ACL https://localhost:8443/profile/.acl for ./card +1ms
solid:ACL Using ACL https://localhost:8443/profile/.acl for ./card +0ms
solid:ACL Using ACL https://localhost:8443/profile/.acl for ./card +0ms
solid:ACL accessDenied: checking access to <https://localhost:8443/profile/card> by null and origin null +0ms
solid:ACL 2 default authentications about <https://localhost:8443/profile/> in <https://localhost:8443/profile/.acl> +1ms
solid:ACL Checking auth <https://localhost:8443/profile/.acl#owner> with agent null +0ms
solid:ACL Agent or group: Fail: not public and not logged on. +0ms
solid:ACL The agent/group check fails +0ms
solid:ACL Check failed: User Unauthorized +0ms
solid:ACL Agent or group: Ok, its public. +0ms
solid:ACL Mode allowed: <http://www.w3.org/ns/auth/acl#Read> +0ms
solid:ACL accessDenied: modeURIorReasons: ["User Unauthorized","http://www.w3.org/ns/auth/acl#Read"] +0ms
solid:ACL checking <http://www.w3.org/ns/auth/acl#Read> +0ms
solid:ACL Mode required and allowed:<http://www.w3.org/ns/auth/acl#Read> +0ms
solid:ACL accessDenied: checking access to <https://localhost:8443/profile/card> by null and origin null +1ms
solid:ACL 2 default authentications about <https://localhost:8443/profile/> in <https://localhost:8443/profile/.acl> +0ms
solid:ACL Checking auth <https://localhost:8443/profile/.acl#owner> with agent null +0ms
solid:ACL Agent or group: Fail: not public and not logged on. +1ms
solid:ACL The agent/group check fails +0ms
solid:ACL Check failed: User Unauthorized +0ms
solid:ACL Agent or group: Ok, its public. +0ms
solid:ACL Mode allowed: <http://www.w3.org/ns/auth/acl#Read> +0ms
solid:ACL accessDenied: modeURIorReasons: ["User Unauthorized","http://www.w3.org/ns/auth/acl#Read"] +0ms
solid:ACL checking <http://www.w3.org/ns/auth/acl#Write> +0ms
solid:ACL MODE REQUIRED NOT ALLOWED: <http://www.w3.org/ns/auth/acl#Write> Denying with User Unauthorized +1ms
solid:ACL accessDenied: checking access to <https://localhost:8443/profile/card> by null and origin null +0ms
solid:ACL 2 default authentications about <https://localhost:8443/profile/> in <https://localhost:8443/profile/.acl> +0ms
solid:ACL Checking auth <https://localhost:8443/profile/.acl#owner> with agent null +0ms
solid:ACL Agent or group: Fail: not public and not logged on. +0ms
solid:ACL The agent/group check fails +0ms
solid:ACL Check failed: User Unauthorized +2ms
solid:ACL Agent or group: Ok, its public. +0ms
solid:ACL Mode allowed: <http://www.w3.org/ns/auth/acl#Read> +0ms
solid:ACL accessDenied: modeURIorReasons: ["User Unauthorized","http://www.w3.org/ns/auth/acl#Read"] +0ms
solid:ACL checking <http://www.w3.org/ns/auth/acl#Append> +0ms
solid:ACL MODE REQUIRED NOT ALLOWED: <http://www.w3.org/ns/auth/acl#Append> Denying with User Unauthorized +0ms
solid:ACL accessDenied: checking access to <https://localhost:8443/profile/card> by null and origin null +1ms
solid:ACL 2 default authentications about <https://localhost:8443/profile/> in <https://localhost:8443/profile/.acl> +0ms
solid:ACL Checking auth <https://localhost:8443/profile/.acl#owner> with agent null +0ms
solid:ACL Agent or group: Fail: not public and not logged on. +0ms
solid:ACL The agent/group check fails +0ms
solid:ACL Check failed: User Unauthorized +0ms
solid:ACL Agent or group: Ok, its public. +0ms
solid:ACL Mode allowed: <http://www.w3.org/ns/auth/acl#Read> +0ms
solid:ACL accessDenied: modeURIorReasons: ["User Unauthorized","http://www.w3.org/ns/auth/acl#Read"] +0ms
solid:ACL checking <http://www.w3.org/ns/auth/acl#Control> +0ms
solid:ACL MODE REQUIRED NOT ALLOWED: <http://www.w3.org/ns/auth/acl#Control> Denying with User Unauthorized +0ms
solid:ACL accessDenied: checking access to <https://localhost:8443/profile/card> by null and origin null +1ms
solid:ACL 2 default authentications about <https://localhost:8443/profile/> in <https://localhost:8443/profile/.acl> +0ms
solid:ACL Checking auth <https://localhost:8443/profile/.acl#owner> with agent null +0ms
solid:ACL Agent or group: Fail: not public and not logged on. +0ms
solid:ACL The agent/group check fails +0ms
solid:ACL Check failed: User Unauthorized +0ms
solid:ACL Agent or group: Ok, its public. +0ms
solid:ACL Mode allowed: <http://www.w3.org/ns/auth/acl#Read> +0ms
solid:ACL accessDenied: modeURIorReasons: ["User Unauthorized","http://www.w3.org/ns/auth/acl#Read"] +0ms
solid:ACL checking <http://www.w3.org/ns/auth/acl#Write> +0ms
solid:ACL MODE REQUIRED NOT ALLOWED: <http://www.w3.org/ns/auth/acl#Write> Denying with User Unauthorized +0ms
solid:ACL accessDenied: checking access to <https://localhost:8443/profile/card> by null and origin null +0ms
solid:ACL 2 default authentications about <https://localhost:8443/profile/> in <https://localhost:8443/profile/.acl> +1ms
solid:ACL Checking auth <https://localhost:8443/profile/.acl#owner> with agent null +0ms
solid:ACL Agent or group: Fail: not public and not logged on. +0ms
solid:ACL The agent/group check fails +0ms
solid:ACL Check failed: User Unauthorized +0ms
solid:ACL Agent or group: Ok, its public. +0ms
solid:ACL Mode allowed: <http://www.w3.org/ns/auth/acl#Read> +0ms
solid:ACL accessDenied: modeURIorReasons: ["User Unauthorized","http://www.w3.org/ns/auth/acl#Read"] +0ms
solid:ACL checking <http://www.w3.org/ns/auth/acl#Append> +0ms
solid:ACL MODE REQUIRED NOT ALLOWED: <http://www.w3.org/ns/auth/acl#Append> Denying with User Unauthorized +0ms
solid:ACL accessDenied: checking access to <https://localhost:8443/profile/card> by null and origin null +0ms
solid:ACL 2 default authentications about <https://localhost:8443/profile/> in <https://localhost:8443/profile/.acl> +1ms
solid:ACL Checking auth <https://localhost:8443/profile/.acl#owner> with agent null +0ms
solid:ACL Agent or group: Fail: not public and not logged on. +0ms
solid:ACL The agent/group check fails +0ms
solid:ACL Check failed: User Unauthorized +0ms
solid:ACL Agent or group: Ok, its public. +0ms
solid:ACL Mode allowed: <http://www.w3.org/ns/auth/acl#Read> +0ms
solid:ACL accessDenied: modeURIorReasons: ["User Unauthorized","http://www.w3.org/ns/auth/acl#Read"] +0ms
solid:ACL checking <http://www.w3.org/ns/auth/acl#Control> +1ms
solid:ACL MODE REQUIRED NOT ALLOWED: <http://www.w3.org/ns/auth/acl#Control> Denying with User Unauthorized +0ms
solid:ACL Permissions on https://localhost:8443/profile/card for (none): read +0ms
solid:ACL Permissions on https://localhost:8443/profile/card for public: read +0ms
solid:get /profile/card on localhost +4ms
solid:handlers GET -- Reading /Users/graham/solid/data/profile/card$.ttl +3ms
solid:get sending data browser file: /Users/graham/solid/node_modules/solid-server/static/databrowser.html +1ms
solid:ACL Using ACL https://localhost:8443/favicon.ico.acl for ./favicon.ico +1s
solid:ACL accessDenied: checking access to <https://localhost:8443/favicon.ico> by null and origin null +1ms
solid:ACL 2 direct authentications about <https://localhost:8443/favicon.ico> +0ms
solid:ACL Checking auth <https://localhost:8443/favicon.ico.acl#owner> with agent null +0ms
solid:ACL Agent or group: Fail: not public and not logged on. +0ms
solid:ACL The agent/group check fails +0ms
solid:ACL Check failed: User Unauthorized +0ms
solid:ACL Agent or group: Ok, its public. +0ms
solid:ACL Mode allowed: <http://www.w3.org/ns/auth/acl#Read> +1ms
solid:ACL accessDenied: modeURIorReasons: ["User Unauthorized","http://www.w3.org/ns/auth/acl#Read"] +0ms
solid:ACL checking <http://www.w3.org/ns/auth/acl#Read> +0ms
solid:ACL Mode required and allowed:<http://www.w3.org/ns/auth/acl#Read> +0ms
solid:ACL Using ACL https://localhost:8443/favicon.ico.acl for ./favicon.ico +0ms
solid:ACL Using ACL https://localhost:8443/favicon.ico.acl for ./favicon.ico +0ms
solid:ACL Using ACL https://localhost:8443/favicon.ico.acl for ./favicon.ico +0ms
solid:ACL Using ACL https://localhost:8443/favicon.ico.acl for ./favicon.ico +0ms
solid:ACL Using ACL https://localhost:8443/favicon.ico.acl for ./favicon.ico +2ms
solid:ACL Using ACL https://localhost:8443/favicon.ico.acl for ./favicon.ico +1ms
solid:ACL Using ACL https://localhost:8443/favicon.ico.acl for ./favicon.ico +0ms
solid:ACL accessDenied: checking access to <https://localhost:8443/favicon.ico> by null and origin null +1ms
solid:ACL 2 direct authentications about <https://localhost:8443/favicon.ico> +0ms
solid:ACL Checking auth <https://localhost:8443/favicon.ico.acl#owner> with agent null +0ms
solid:ACL Agent or group: Fail: not public and not logged on. +0ms
solid:ACL The agent/group check fails +0ms
solid:ACL Check failed: User Unauthorized +1ms
solid:ACL Agent or group: Ok, its public. +0ms
solid:ACL Mode allowed: <http://www.w3.org/ns/auth/acl#Read> +0ms
solid:ACL accessDenied: modeURIorReasons: ["User Unauthorized","http://www.w3.org/ns/auth/acl#Read"] +0ms
solid:ACL checking <http://www.w3.org/ns/auth/acl#Read> +0ms
solid:ACL Mode required and allowed:<http://www.w3.org/ns/auth/acl#Read> +0ms
solid:ACL accessDenied: checking access to <https://localhost:8443/favicon.ico> by null and origin null +0ms
solid:ACL 2 direct authentications about <https://localhost:8443/favicon.ico> +0ms
solid:ACL Checking auth <https://localhost:8443/favicon.ico.acl#owner> with agent null +0ms
solid:ACL Agent or group: Fail: not public and not logged on. +0ms
solid:ACL The agent/group check fails +1ms
solid:ACL Check failed: User Unauthorized +0ms
solid:ACL Agent or group: Ok, its public. +0ms
solid:ACL Mode allowed: <http://www.w3.org/ns/auth/acl#Read> +0ms
solid:ACL accessDenied: modeURIorReasons: ["User Unauthorized","http://www.w3.org/ns/auth/acl#Read"] +0ms
solid:ACL checking <http://www.w3.org/ns/auth/acl#Write> +0ms
solid:ACL MODE REQUIRED NOT ALLOWED: <http://www.w3.org/ns/auth/acl#Write> Denying with User Unauthorized +0ms
solid:ACL accessDenied: checking access to <https://localhost:8443/favicon.ico> by null and origin null +0ms
solid:ACL 2 direct authentications about <https://localhost:8443/favicon.ico> +0ms
solid:ACL Checking auth <https://localhost:8443/favicon.ico.acl#owner> with agent null +0ms
solid:ACL Agent or group: Fail: not public and not logged on. +1ms
solid:ACL The agent/group check fails +0ms
solid:ACL Check failed: User Unauthorized +0ms
solid:ACL Agent or group: Ok, its public. +0ms
solid:ACL Mode allowed: <http://www.w3.org/ns/auth/acl#Read> +0ms
solid:ACL accessDenied: modeURIorReasons: ["User Unauthorized","http://www.w3.org/ns/auth/acl#Read"] +0ms
solid:ACL checking <http://www.w3.org/ns/auth/acl#Append> +0ms
solid:ACL MODE REQUIRED NOT ALLOWED: <http://www.w3.org/ns/auth/acl#Append> Denying with User Unauthorized +0ms
solid:ACL accessDenied: checking access to <https://localhost:8443/favicon.ico> by null and origin null +1ms
solid:ACL 2 direct authentications about <https://localhost:8443/favicon.ico> +0ms
solid:ACL Checking auth <https://localhost:8443/favicon.ico.acl#owner> with agent null +0ms
solid:ACL Agent or group: Fail: not public and not logged on. +0ms
solid:ACL The agent/group check fails +0ms
solid:ACL Check failed: User Unauthorized +0ms
solid:ACL Agent or group: Ok, its public. +0ms
solid:ACL Mode allowed: <http://www.w3.org/ns/auth/acl#Read> +0ms
solid:ACL accessDenied: modeURIorReasons: ["User Unauthorized","http://www.w3.org/ns/auth/acl#Read"] +0ms
solid:ACL checking <http://www.w3.org/ns/auth/acl#Control> +1ms
solid:ACL MODE REQUIRED NOT ALLOWED: <http://www.w3.org/ns/auth/acl#Control> Denying with User Unauthorized +0ms
solid:ACL accessDenied: checking access to <https://localhost:8443/favicon.ico> by null and origin null +0ms
solid:ACL 2 direct authentications about <https://localhost:8443/favicon.ico> +0ms
solid:ACL Checking auth <https://localhost:8443/favicon.ico.acl#owner> with agent null +0ms
solid:ACL Agent or group: Fail: not public and not logged on. +0ms
solid:ACL The agent/group check fails +0ms
solid:ACL Check failed: User Unauthorized +0ms
solid:ACL Agent or group: Ok, its public. +0ms
solid:ACL Mode allowed: <http://www.w3.org/ns/auth/acl#Read> +1ms
solid:ACL accessDenied: modeURIorReasons: ["User Unauthorized","http://www.w3.org/ns/auth/acl#Read"] +0ms
solid:ACL checking <http://www.w3.org/ns/auth/acl#Write> +0ms
solid:ACL MODE REQUIRED NOT ALLOWED: <http://www.w3.org/ns/auth/acl#Write> Denying with User Unauthorized +0ms
solid:ACL accessDenied: checking access to <https://localhost:8443/favicon.ico> by null and origin null +0ms
solid:ACL 2 direct authentications about <https://localhost:8443/favicon.ico> +0ms
solid:ACL Checking auth <https://localhost:8443/favicon.ico.acl#owner> with agent null +0ms
solid:ACL Agent or group: Fail: not public and not logged on. +0ms
solid:ACL The agent/group check fails +0ms
solid:ACL Check failed: User Unauthorized +0ms
solid:ACL Agent or group: Ok, its public. +1ms
solid:ACL Mode allowed: <http://www.w3.org/ns/auth/acl#Read> +0ms
solid:ACL accessDenied: modeURIorReasons: ["User Unauthorized","http://www.w3.org/ns/auth/acl#Read"] +0ms
solid:ACL checking <http://www.w3.org/ns/auth/acl#Append> +0ms
solid:ACL MODE REQUIRED NOT ALLOWED: <http://www.w3.org/ns/auth/acl#Append> Denying with User Unauthorized +0ms
solid:ACL accessDenied: checking access to <https://localhost:8443/favicon.ico> by null and origin null +0ms
solid:ACL 2 direct authentications about <https://localhost:8443/favicon.ico> +0ms
solid:ACL Checking auth <https://localhost:8443/favicon.ico.acl#owner> with agent null +1ms
solid:ACL Agent or group: Fail: not public and not logged on. +0ms
solid:ACL The agent/group check fails +0ms
solid:ACL Check failed: User Unauthorized +0ms
solid:ACL Agent or group: Ok, its public. +0ms
solid:ACL Mode allowed: <http://www.w3.org/ns/auth/acl#Read> +0ms
solid:ACL accessDenied: modeURIorReasons: ["User Unauthorized","http://www.w3.org/ns/auth/acl#Read"] +0ms
solid:ACL checking <http://www.w3.org/ns/auth/acl#Control> +1ms
solid:ACL MODE REQUIRED NOT ALLOWED: <http://www.w3.org/ns/auth/acl#Control> Denying with User Unauthorized +0ms
solid:ACL Permissions on https://localhost:8443/favicon.ico for (none): read +0ms
solid:ACL Permissions on https://localhost:8443/favicon.ico for public: read +0ms
solid:get /favicon.ico on localhost +1ms
solid:handlers GET -- Reading /Users/graham/solid/data/favicon.ico +1ms
solid:server Error page because of: { FetchError: request to https://localhost:8443/.well-known/openid-configuration failed, reason: unable to verify the first certificate
at ClientRequest.<anonymous> (/Users/graham/solid/node_modules/node-fetch/lib/index.js:1444:11)
at ClientRequest.emit (events.js:189:13)
at TLSSocket.socketErrorListener (_http_client.js:392:9)
at TLSSocket.emit (events.js:189:13)
at emitErrorNT (internal/streams/destroy.js:82:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
at process._tickCallback (internal/process/next_tick.js:63:19)
message:
'request to https://localhost:8443/.well-known/openid-configuration failed, reason: unable to verify the first certificate',
type: 'system',
errno: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE',
code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE' } +98ms
OK, good! I don't know what it means, but perhaps @dmitrizagidulin has an idea?
I'd hazard a guess it could be to do with using a self-signed cert?
Yeah, it seems like it, but I do that too, so there has to be something more subtle...
with self cert you need to launch with solid-test start
with self cert you need to launch with solid-test start
Right, I would have expected an error to be thrown earlier if that was the reason though.
Actually, I ended up setting
NODE_TLS_REJECT_UNAUTHORIZED=0
in my .bashrc
on my dev box.
there is also a switch it sets --no-reject-unauthorized I don't know if this is redundant
Also more interesting testing if you clone the release/v5.0.0 branch
/home/roger/Software/git-1.8.5.2/dist/bin/git clone -b release/v5.0.0 https://github.com/solid/node-solid-server.git node-solid-server
If you clear your nss folder and start with a new clone be aware in your browser pages the solid-auth-client stores stuff in local storage for certain pages and your app
Clear these with browser dev tools from the Storage tab
@rimmartin Thanks. That seems to have solved a different problem (which I'm about to log). (I assumed local storage would be zapped when I cleared browser history, but it appears not.)
Now, using the same setup as before, I do seem to be able to access the WebID data while logged in. I'm not aware of anything that's changed other than clearing out browser storage values.
Well, that seems to be the problem. Something got messed up with browser storage values. I don't know what. I've managed to clear storage for the site in two different browsers now (Firefox and Brave) and now I can access the WebID as expected in both browsers.
This also seems to fix a related problem that I was having: after logging out I could not log in again, and just got a popup displaying "Unauthorized" after selecting "https://localhost:8443/" as the IDP.
I would claim that this is still a bug, because I don't think the server should get itself into such a muddle because something is wrong in the browser's site storage. (What breaks if any attempt to logout, or any access while logged out, flushes out all stored data for the site?)
@gklyne yep I agree, the life cycle needs some work. I would like to see the https://github.com/solid/webid-oidc-spec sharply delineated and end-to-end tested. We should be able to stick it into koa, egg or sails or any other more enterprising framework we like.
And it definitely needs to become transparent to the wider non-developer user
I'm closing this due to inactivity
I'm wondering what is the rationale for closing due to inactivity, given that (I understand) there is an acknowledged problem in this area.
Also, I'm not aware of any response to my earlier question:
I would claim that this is still a bug, because I don't think the server should get itself into such a muddle because something is wrong in the browser's site storage. (What breaks if any attempt to logout, or any access while logged out, flushes out all stored data for the site?)
Would flushing the stored data be hard to do?
Hi, when starting test server
solid:authentication Error registering a new client: { FetchError: request to https://localhost:8443/.well-known/openid-configuration failed, reason: unable to verify the first certificate
can be solved by adding following CA related code to the top of node_modules/solid-server/lib/create-app.js
// Get full chain CA and local CA added by mkcert, so secure TLS can be established
const rootCAs = require('ssl-root-cas/latest').create();
rootCAs.addFile(process.env.MKCERT_PATH);
require('https').globalAgent.options.ca = rootCAs;
with
DEBUG=solid:* MKCERT_PATH=\"$(mkcert -CAROOT)/rootCA.pem\" solid start # --root $(pwd)/data --data-browser-path $(pwd)/../node_modules/mashlib/dist/databrowser.html --config-file $(pwd)/../config.solid.example.json
if you are using CA generated by mkcert
https://github.com/solid/node-solid-server/issues/1383 seems related?
Maybe we can close this, it is fixed by https://github.com/solid/node-solid-server/pull/1388 and https://github.com/solid/node-solid-server/issues/1389
If it's fixed, that's great, and yes do close it. (I don't have a setup for repeat testing - the nature of the problem I encountered makes it difficult to test.)
Looking back through the log, I see my earlier comment:
I would claim that this is still a bug, because I don't think the server should get itself into such a muddle because something is wrong in the browser's site storage. (What breaks if any attempt to logout, or any access while logged out, flushes out all stored data for the site?)
It's not obvious to me on a cursory look that those fix problems with messed-up browser site storage. But if they do, or if you think it's not a problem, I'm happy to see this closed.
Oh, seems not. I didn't touch anything related to browser storage.
But without a reproducible example, your issue will be difficult to track. I always keep a git branch to track the place I encounter the bug.
(I'm new to node and solid-server, so I might be missing something obvious.)
On a new installation of node-solid-server, I'm getting an internal server error indicated when I try to access the WebID URL after login in (but not before loging in). The sequence I followed is this; it appears to be repeatable.
Install NVM
(Using a previous installation, but I did remove the previously installed version of node.js)
Install latest node.js
To use
nvm
to install a recent version of node, use some combination of the following:Status:
This is different from thepreviously installed verson of node, so I'm taking this to be a clean new node environment.
Activate latest node.js
Install local Solid server
See also: https://solid.inrupt.com/docs/installing-running-nss
Create and change to working directory for server data (e.g.
$HOME/solid
).Create and change to working directory for solid certificates data (e.g.
$HOME/solid-certs
). Then:Set up certificate (or see https://letsencrypt.org/docs/certificates-for-localhost/). For now, using a self-signed certificate:
Change back to solid directory:
Initialize Solid (see https://github.com/solid/node-solid-server#run-a-single-user-server-beginner):
Run solid server
Start Solid:
Create basic structure for user data (LDP container)
How to get set up with an LDP container?
Browse to https://localhost:8443/. Ignore/override security warnings. I'm using Brave browser without plugins.
Click on "Register". Fill in details, click "register".
"Public homepage" is displayed.
Click on "WebID" link (https://localhost:8443/profile/card#me). Page with name is displayed, but none of the data entered at registration. Tried "back" button, but nothing happens.
Browse to https://localhost:8443/, "Public homepage" is displayed again.
Click "Login". Enter username and password from registration. Click "Log in". Popup displays "Logged in", and home page button changes to "Log out".
Click on WebID link again, error is displayed:
At this point, console log looks like this: