DCR ignores advertised token endpoint authentication methods
维护者通常 3 天内回复
@bolinfest 已经在做这个了。
开始于 2026年10月14日。
评估
这个 Issue 还没有评估数据。
描述
Problem
AuthorizationManager::register_client currently always sends
token_endpoint_auth_method: "none". An authorization server can advertise
token_endpoint_auth_methods_supported, including
client_secret_basic or client_secret_post, but dynamic registration does
not currently use that metadata.
This prevents registration against servers that require a confidential client
authentication method. It can also register a confidential method without
checking that the registration response supplied the secret needed to use it.
Proposed direction
- Preserve the current public-client behavior when the metadata field is
omitted. - When the field is present, choose the first SDK-supported method in this
preference order:none,client_secret_basic, then
client_secret_post. - Reject a malformed, empty, or unsupported advertised method list before
sending a registration request. - If a confidential method is selected, require a non-empty client secret in
the registration response. - Continue using the existing OAuth client configuration for Basic and POST
authentication after registration.
The preference for none preserves a public client when the server supports
one; Basic is preferred over putting a secret in the request body when a
confidential client is required.
Planned validation
Focused recording-client tests would cover omitted metadata, each supported
method, mixed-method preference, malformed/empty/unsupported metadata, and
missing or empty confidential-client secrets. The rejection cases would also
verify whether a registration request was sent.
Would this selection and compatibility policy be acceptable for a focused PR?
- 主要语言
- Rust
- 星标
- 4k
- 派生
- 662
- 平均合并
- 3 天 23 小时
- 30 天内合并 PR
- 34
环境准备
在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
modelcontextprotocol/rust-sdk 的其他 Issue
-
Streamable HTTP client: a 401 or 403 with a JSON-RPC error body and no WWW-Authenticate loses its HTTP status可能已有人在做 @aton-of-data 于 4 天前认领。 未关闭bug P2 ready for work T-security T-transport
难度 2/5 1-3 小时 新手友好度 68/100
modelcontextprotocol/rust-sdk#1339 ·
维护者通常 3 天内回复
-
auth: refresh_token() requests offline_access that was never granted, so refreshes fail with invalid_scope可能已有人在做 @jstar0 于 7 天前认领。 未关闭bug P1 ready for work T-security T-transport
难度 2/5 1-3 小时 新手友好度 65/100
modelcontextprotocol/rust-sdk#1330 ·
维护者通常 3 天内回复
-
P3 question Stale T-documentation T-enhancement
难度 1/5 1 小时以内 新手友好度 86/100
modelcontextprotocol/rust-sdk#1155 · 1 条评论 ·
维护者通常 3 天内回复
-
Two rmcp tests fail on Windows: connection-refused text check and `npm` spawn in test_with_js可能已有人在做 @bolinfest 今天认领。 未关闭bug P2 ready for work T-test
modelcontextprotocol/rust-sdk#1364 · 1 条评论 · 已指派 1 人 ·
维护者通常 3 天内回复
-
Client never answers a server `ping` sent during the `initialize` handshake可能已有人在做 @bolinfest 于 1 天前认领。 未关闭bug P1 ready for work T-service
modelcontextprotocol/rust-sdk#1362 · 3 条评论 · 已指派 1 人 ·
维护者通常 3 天内回复
查看 modelcontextprotocol/rust-sdk 的全部 Issue
相似的 Issue
-
documentation good first issue
难度 2/5 半天 新手友好度 72/100
sujithputta02/Esapay#13 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
tursodatabase/turso#10002 ·
维护者通常 1 天内回复
-
needs triage
难度 2/5 1-3 小时 新手友好度 72/100
topgrade-rs/topgrade#2419 ·
维护者通常 1 天内回复
-
review-bot
难度 2/5 1-3 小时 新手友好度 72/100
midagedev/bloomery#318 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 88/100
Chia-Network/clvm_rs#863 ·
维护者通常 1 天内回复