nodeSolidServer / nodeSolidServer/node-solid-server

Token refresh 500

Open
#1,588 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
1.8k
Forks
308
PR merge metrics
No merged PRs in 30d

Description

@michielbdejong I am seeing 500s on the /token endpoint when solid-auth-fetcher tries to renew the token, as well as a 401. The server logs are set to verbose, but don't show the 500, only the 401. I am not sure which headers I can safely include in a message, so opted to not include any. Do you have any suggestions about how to add additional logging to debug this issue more?

Client requests / responses:

POST https://myunderstory.com/token 500
data:
grant_type: refresh_token
refresh_token: REDACTED
client_id: REDACTED

GET https://ian.myunderstory.com/inbox/ 401

Server logs:

2021-04-02T21:24:54.369Z solid:server Display login-required for https://ian.myunderstory.com/private/apps/understory/garden/workspace/default/prefs.ttl
2021-04-02T21:24:56.115Z solid:ACL Using ACL https://ian.myunderstory.com/private/.acl for ./apps/understory/garden/workspace/default/prefs.ttl
2021-04-02T21:24:56.115Z solid:ACL 1 default authentications about https://ian.myunderstory.com/private/ in https://ian.myunderstory.com/private/.acl
2021-04-02T21:24:56.162Z solid:ACL accessDenied: checking access to https://ian.myunderstory.com/private/apps/understory/garden/workspace/default/prefs.ttl by null and origin https://understory.garden
2021-04-02T21:24:56.162Z solid:ACL 1 default authentications about https://ian.myunderstory.com/private/ in https://ian.myunderstory.com/private/.acl
2021-04-02T21:24:56.162Z solid:ACL Checking auth https://ian.myunderstory.com/private/.acl#owner with agent null
2021-04-02T21:24:56.162Z solid:ACL Agent or group: Fail: not public and not logged on.
2021-04-02T21:24:56.162Z solid:ACL The agent/group check fails
2021-04-02T21:24:56.162Z solid:ACL Check failed: User Unauthorized
2021-04-02T21:24:56.162Z solid:ACL accessDenied: modeURIorReasons: ["User Unauthorized"]
2021-04-02T21:24:56.162Z solid:ACL checking http://www.w3.org/ns/auth/acl#Read
2021-04-02T21:24:56.162Z solid:ACL MODE REQUIRED NOT ALLOWED: http://www.w3.org/ns/auth/acl#Read Denying with User Unauthorized
2021-04-02T21:24:56.162Z solid:ACL Read access denied to (none): undefined - Unauthorized
2021-04-02T21:24:56.162Z solid:server Error page because of: { Error: Unauthorized
at AuthenticatedRequest.unauthorized (/opt/solid/node_modules/@solid/oidc-rs/src/AuthenticatedRequest.js:761:19)
at validateExpiry (/opt/solid/node_modules/@solid/oidc-rs/src/AuthenticatedRequest.js:627:22)
handled: true,
statusCode: 401,
realm: 'https://myunderstory.com',
error: 'invalid_token',
error_description: 'Access token is expired',
error_uri: undefined }

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.

Research direction

Start at the /token endpoint and trace the refresh-token request from solid-auth-fetcher. Compare its 500 response with the shown 401 stack trace, especially AuthenticatedRequest.js around validateExpiry and unauthorized. Done means the failure is reproducible and the relevant error is surfaced in the server logs.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, nodejs
Domain
api, authentication, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.