modelcontextprotocol / modelcontextprotocol/php-sdk
[Client] Add OAuth 2025-03-26 metadata backcompat fallback
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- PHP
- Star
- 1.6k
- Fork
- 173
- Merge trung bình
- 2 ngày 49 phút
- Pull request đã merge (30 ngày)
- 23
Mô tả
Context
Older MCP servers (spec revision 2025-03-26) do not publish /.well-known/oauth-protected-resource. The client must fall back to discovering OAuth metadata directly from the MCP server origin's /.well-known/oauth-authorization-server and, if missing, from the issuer derived by URL convention.
Scope
- Order of operations when
WWW-Authenticatelacksresource_metadata:- Try
/.well-known/oauth-protected-resourceat MCP server origin. - Try
/.well-known/oauth-authorization-serverat MCP server origin. - Fall back to OIDC discovery (
/.well-known/openid-configuration).
- Try
- Track protocol revision negotiated during
initialize; only enable fallback chain when the server announced2025-03-26.
Conformance scenarios unblocked
auth/2025-03-26-oauth-metadata-backcompat, auth/2025-03-26-oauth-endpoint-fallback.
Dependencies
Blocked by: #317, #318.
Acceptance
- Unit tests covering all fallback branches.
- Conformance: 2 baseline scenarios pass.
cc @soyuka
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu bằng cách lần theo quá trình thương lượng initialize của PHP client và cách xử lý WWW-Authenticate khi resource_metadata không có. Triển khai và kiểm thử các nhánh Discovery theo thứ tự cho MCP origin và URL được suy ra từ issuer, với điều kiện là revision 2025-03-26. Xác minh các nhánh unit-test và các kịch bản conformance auth/2025-03-26-oauth-metadata-backcompat và auth/2025-03-26-oauth-endpoint-fallback sau khi các blocker #317 và #318 được giải quyết.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- php
- Lĩnh vực
- api, authentication
- Loại issue
- Tính năng
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Ít trao đổi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức phù hợp với người mới
- 52/100