When Absolute Uri passed as McpAuthenticationOptions.ResourceMetadataUri, /.well-known/oauth-protected-resource endpoint returns 404

Abierto
#654 4 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
55/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
csharp

Línea de trabajo

Comienza con samples\ProtectedMCPServer\Program.cs y reproduce la solicitud usando una ResourceMetadataUri absoluta configurada mediante AddMcp. Después, localiza la lógica de coincidencia del endpoint de metadatos del recurso y las pruebas unitarias a las que hace referencia el issue. Se considera terminado cuando una URI absoluta válida es gestionada por el endpoint /.well-known/oauth-protected-resource en lugar de devolver 404, y las pruebas relevantes pasan.

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

Descripción

area-auth bug help wanted needs confirmation P3

Describe the bug

When Absolute Uri passed as McpAuthenticationOptions.ResourceMetadataUri, /.well-known/oauth-protected-resource endpoint returns 404.

The logic for matching resource metadata endpoint is only limited to relative path, when an absolute path is passed in, the match fails and allows the resource metadata request to fall through the pipeline.

To Reproduce

  1. Provide an absolute Uri as as McpAuthenticationOptions.ResourceMetadataUri when configuring AddMcp
  2. Start the server
  3. Hit the resource metadata endpoint

Reproduced in sample server, added

AddMcp(options =>
{
  // ... resource metadata object
  options.ResourceMetadataUri = new Uri($"{serverUrl}.well-known/oauth-protected-resource", UriKind.Absolute);
}

in samples\ProtectedMCPServer\Program.cs

Expected behavior
Resource metadata request should be handled when provided a valid ResourceMetadataUri

Unit tests failure when configure the absolute uri

Image
Lenguaje dominante
C#
Estrellas
4.5k
Forks
814
Merge medio
9 d 19 h
PR fusionados (30 d)
4

Guía de contribución

Abrir la 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 modelcontextprotocol/csharp-sdk

Todos los issues de modelcontextprotocol/csharp-sdk

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.