Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto
#4,590 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@locker95 ya está trabajando en esto.

Desde el 14/10/2026.

  • #4595 de @locker95 — abierto

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
45/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
go

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
Go
Estrellas
4.4k
Forks
508
Merge medio
7 h 52 min
PR fusionados (30 d)
237

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

  • Incluye un Dockerfile o un archivo de Docker Compose
  • Sin plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de docker/docker-agent

Todos los issues de docker/docker-agent

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.