Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

OAuth DCR omits token_endpoint_auth_method, so token exchange fails on client_secret_basic servers

Đang mở
#4,590 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@locker95 đang làm issue này rồi.

Từ ngày 14/10/2026.

  • #4595 của @locker95 — đang mở

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
45/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
go
Lĩnh vực
authentication

Hướng nghiên cứu

Start with RegisterClientWithClient and ExchangeCodeForTokenWithClient in the OAuth client code, and compare the auth method sent at registration with the client-secret handling in the token request. Reproduce by registering against a server that defaults to client_secret_basic and checking which credential placement the exchange uses. Done when both steps use the same method, and the exchange follows the token_endpoint_auth_method the server returns.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

area/mcp area/security

RegisterClientWithClient sends no token_endpoint_auth_method, so servers register the client as client_secret_basic (the RFC 7591 default). ExchangeCodeForTokenWithClient then sends client_secret in the form body (client_secret_post). Supabase-based auth servers reject this, and the OAuth prompt repeats.

Repro (v1.150.0): add https://mcp.structured.app/mcp as a remote MCP and authorize. The token exchange returns 400: invalid authentication method: client is registered for 'client_secret_basic' but 'client_secret_post' was used.

  • Registration and token exchange use the same auth method.
  • Token exchange honors the method the server returns at registration.

Workaround: register a public client by hand and set remote.oauth.clientId.

Ngôn ngữ chính
Go
Star
4.4k
Fork
508
Merge trung bình
6 giờ 1 phút
Pull request đã merge (30 ngày)
271

Chuẩn bị môi trường

Mở trong Codespaces

Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.

  • Có Dockerfile hoặc tệp Docker Compose
  • Không có mẫu pull request
  • Không có hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của docker/docker-agent

Tất cả issue của docker/docker-agent

Issue tương tự

Thêm issue về Go

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.