nodeSolidServer / nodeSolidServer/node-solid-server

Token refresh 500

オープン
#1,588 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
JavaScript
スター
1.8k
フォーク
308
PR マージ指標
30日以内にマージされた PR はありません

説明

@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 }

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

/token エンドポイントから開始し、solid-auth-fetcher からの refresh-token リクエストを追跡します。表示されている 401 スタックトレースとその 500 レスポンスを比較し、特に validateExpiry と unauthorized 周辺の AuthenticatedRequest.js を確認します。完了の条件は、失敗を再現でき、関連するエラーがサーバーログに出力されることです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript, nodejs
領域
api, authentication, backend
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。