M7. MCP authorization (OAuth code flow)
Maintainer thường phản hồi trong vòng 2 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- azure, csharp
- Lĩnh vực
- authentication, authorization, cli, security
Hướng nghiên cứu
Bắt đầu với docs/mcp.md và docs/agentic-roadmap.md, đặc biệt là mục M7 trong roadmap, sau đó lần theo HTTP transport và đường dẫn credential Entra/RBAC hiện có. Hoàn tất nghĩa là các request từ xa không được xác thực bị từ chối, authorization bằng bearer token hoạt động, identity đến được Cosmos/ARM credentials, no-auth trên localhost vẫn được kiểm soát bằng flag, và threat model cùng tài liệu được cập nhật.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Why
Today the MCP server relies solely on origin-header validation and localhost binding — safe for a single-user local machine, but there is no authorization layer. Any remote, hosted, or shared agent deployment (team agent, CI runner, cloud-hosted assistant) currently has no supported way to authenticate a caller. The MCP spec defines an OAuth 2.1 authorization-code flow for exactly this; adopting it unlocks hosted/agentic scenarios without falling back to master keys.
This is the natural companion to confirmation/elicitation (item M3): authorization answers "who is allowed to call," M3 answers "what may they do."
Proposed behavior
- Implement the MCP authorization-code flow for the HTTP transport: advertise the authorization server, validate bearer tokens on each request, and map the authenticated identity onto the shell's existing Entra/RBAC connection so tool calls run with least-privilege, per-caller credentials rather than a shared session.
- Keep localhost/no-auth as an explicit opt-in for the current single-user experience.
Acceptance criteria
- Unauthenticated remote requests are rejected.
- A client can complete the authorization-code flow and call tools with a bearer token.
- Identity flows to the Cosmos/ARM credential.
- Localhost no-auth mode preserved behind a flag.
- Threat model +
docs/mcp.mdupdated.
Filed from the Agentic & Automation Roadmap (docs/agentic-roadmap.md), item M7, Wave 2. Priority P1.
- Ngôn ngữ chính
- C#
- Star
- 4
- Fork
- 7
- Merge trung bình
- 3 ngày 12 giờ
- Pull request đã merge (30 ngày)
- 23
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc 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.
Issue khác của Azure/CosmosDBShell
-
enhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
Azure/CosmosDBShell#240 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
automation P1
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 45/100
Azure/CosmosDBShell#178 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Lightweight headless CI distribution (no MCP, LSP, interactive UI)Có thể làm lại được Pull request cho issue này đã bị đóng mà không được merge. Đang mởautomation P1
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
Azure/CosmosDBShell#175 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
agentic enhancement P0
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
Azure/CosmosDBShell#153 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 30/100
Azure/CosmosDBShell#118 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của Azure/CosmosDBShell
Issue tương tự
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 80/100
Maintainer thường phản hồi trong vòng 1 ngày
-
:watch: Not Triaged aspnet-core/svc fundamentals/subsvc Source - Docs.ms
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
dotnet/AspNetCore.Docs#37785 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
Azure/azure-sdk-tools#17204 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Проблема с Dotnet RUĐang mởarea-tutorials needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
dotnet/website-feedback#1779 ·
-
[Bug] SwipeControl in Execute mode with more than one item replaces the whole UI with an error panelĐang mởbug needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
microsoft/microsoft-ui-reactor#1344 ·
Maintainer thường phản hồi trong vòng 1 ngày