fix: make WebID profile fetch respect NODE_TLS_REJECT_UNAUTHORIZED in tests
还没有人认领这个 Issue。
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 58/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 停滞
- 技术栈
- javascript, node.js
- 领域
- backend, networking, testing
调研方向
从 lib/webid/lib/get.mjs 开始,检查其中的内部 fetch 调用和 HTTPS 处理。然后移除其 describe.skip 并运行 test/integration/acl-tls-test.mjs;当 WebID-TLS 集成测试在 NODE_TLS_REJECT_UNAUTHORIZED=0 下通过,同时正常的证书验证保持不变时,即表示完成。
由索引模型根据 Issue 内容生成。
描述
Problem
The WebID-TLS integration tests timeout because the internal fetch() in lib/webid/lib/get.mjs doesn't respect NODE_TLS_REJECT_UNAUTHORIZED=0.
When verifying a WebID certificate, the server fetches the user's profile (e.g., https://tim.localhost:7777/profile/card#me). In tests, this URL uses a self-signed certificate that the internal fetch rejects.
Simplest Fix (~5 lines)
Modify lib/webid/lib/get.mjs to use an HTTPS agent that respects the environment variable:
import fetch from 'node-fetch'
import https from 'https'
import { URL } from 'url'
// Respect NODE_TLS_REJECT_UNAUTHORIZED for testing with self-signed certs
const agent = process.env.NODE_TLS_REJECT_UNAUTHORIZED === '0'
? new https.Agent({ rejectUnauthorized: false })
: undefined
export default function get (webid, callback) {
// ... existing code ...
fetch(uri.href, { method: 'GET', headers, agent })
// ...
}
Why This Works
- In production:
NODE_TLS_REJECT_UNAUTHORIZEDis not set, so normal cert validation applies - In tests: The env var is already set by the test runner (
cross-env NODE_TLS_REJECT_UNAUTHORIZED=0) - No changes needed to test infrastructure or certificates
After This Fix
Remove describe.skip from test/integration/acl-tls-test.mjs and the tests should pass.
Related
- #1841 - Original tracking issue
- #1842 - Documentation PR explaining the issue
- 主要语言
- JavaScript
- 星标
- 1.8k
- 派生
- 308
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
nodeSolidServer/node-solid-server 的其他 Issue
-
难度 1/5 1 小时以内 新手友好度 72/100
nodeSolidServer/node-solid-server#1848 · 2 条评论 · 1 个 reaction ·
-
难度 2/5 1-3 小时 新手友好度 65/100
nodeSolidServer/node-solid-server#1841 · 2 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 65/100
nodeSolidServer/node-solid-server#1147 ·
-
难度 4/5 3-5 天 新手友好度 35/100
nodeSolidServer/node-solid-server#1867 ·
-
难度 5/5 一周以上 新手友好度 45/100
nodeSolidServer/node-solid-server#1853 ·
查看 nodeSolidServer/node-solid-server 的全部 Issue
相似的 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 76/100
avniproject/avni-client#2135 ·
-
enhancement
难度 2/5 1-3 小时 新手友好度 70/100
babalae/bettergi-scripts-list#3674 ·
-
A-Release-Notes C-Editing D-Modest S-Ready-For-Implementation
难度 2/5 1-3 小时 新手友好度 72/100
bevyengine/bevy-website#2595 ·
-
ecosystem wording
难度 1/5 1 小时以内 新手友好度 90/100
matrix-org/matrix.org#3649 ·
-
难度 2/5 1-3 小时 新手友好度 88/100
vadimdemedes/ink#1029 ·