Bump jwt dependency to support 3.x
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 68/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 冷清
- 技术栈
- ruby
调研方向
从 getstream-ruby.gemspec 开始,检查 SDK 中 jwt encode/decode 的调用位置,然后运行现有测试套件。依赖约束支持所选的 jwt 3.x 范围,并且 CI 覆盖 jwt 3.x 且测试通过,即表示完成。
由索引模型根据 Issue 内容生成。
描述
Summary
The current gemspec pins jwt ~> 2.0, which forces consumers to stay on the 2.x line and prevents adopting jwt 3.x in any Ruby app that depends on this gem.
# getstream-ruby.gemspec (v6.1.1)
spec.add_dependency 'jwt', '~> 2.0'
Motivation
The jwt 3.x line introduced several hardenings that apps may want to opt into:
- Rejection of
nil/empty HMAC keys at sign and verify (related to CVE-2026-45363 / GHSA-c32j-vqhx-rx3x) - Enforcement of RSA keys >= 2048 bits
- Stricter RFC 4648 base64 decoding
- Mandatory signature verification before payload access
For consumers already running jwt 3.x in production, adding getstream-ruby currently forces a downgrade, which (a) loses those hardenings and (b) leaves the app stuck on whichever 2.x patch line ends up being the resolved version.
Question
Is bumping the constraint to allow jwt 3.x (e.g. jwt, '>= 2.0', '< 4' or jwt, '~> 3.0') on the roadmap? Quick scan of the SDK usage of jwt suggests the encode/decode call sites should be compatible across 2.x and 3.x, but the maintainers will know best.
There's prior precedent for loosening a dependency constraint in this gem (dotenv — see #25 and #27), so this would follow a similar pattern.
Happy to open a PR with the constraint bump (+ CI matrix entry for jwt 3.x) if that would help.
Thanks!
- 主要语言
- Ruby
- 星标
- 1
- 派生
- 3
- 平均合并
- 4 小时 38 分钟
- 30 天内合并 PR
- 6
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 75/100
palladius/rails8-app-on-gcp#145 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
rubocop/rubocop-rspec#2236 ·
-
bug
难度 2/5 1-3 小时 新手友好度 70/100
riscv/riscv-unified-db#2624 · 1 个 reaction ·
-
难度 1/5 1 小时以内 新手友好度 88/100
-
难度 2/5 1-3 小时 新手友好度 78/100