OAuth2 Discovery method fails because FastMCP with GoogleProvider (OAuth) returns issuerUrl with trailing slash
Mantenedores costumam responder em até 5 dias
@sanketpatil06 já está trabalhando nisso.
Desde 25/9/2026.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 78/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- python
- Domínio
- authentication, security
Direção de pesquisa
Comece em src/google/adk/auth/oauth2_discovery.py, em OAuth2DiscoveryManager.discover_auth_server_metadata, indicado no issue, e inspecione como o issuer retornado é comparado com a URL fornecida. Reproduza a resposta de discovery com uma barra no final e verifique se os metadados correspondentes são retornados; está concluído quando as URLs de issuer no estilo FastMCP não fizerem mais a discovery falhar.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
The OAuth2DiscoveryManager.discover_auth_server_metadata function retrieves a remote MCP Server's discovery document, to initialize the tool's AuthScheme object.
The function compares the returned issuer URL to the provided issuer URL to defend against MIX-UP attacks (as documented):
if metadata.issuer == issuer_url.rstrip("/"):
However, if the returned issuer has a trailing slash ('/'), as is the case when using FastMCP and the GoogleProvider, the function fails to compare the issuer values and no metadata is returned.
The correct code should be:
if metadata.issuer.rstrip("/") == issuer_url.rstrip("/"):
This is an example of what FastMCP is returning when using SSE transport with a GoogleProvider:
{
"issuer": "http://localhost:8080/",
"authorization_endpoint": "http://localhost:8080/authorize",
"token_endpoint": "http://localhost:8080/token",
"registration_endpoint": "http://localhost:8080/register",
"scopes_supported": [
"openid",
"https://www.googleapis.com/auth/userinfo.email"
],
"response_types_supported": [
"code"
],
"grant_types_supported": [
"authorization_code",
"refresh_token"
],
"token_endpoint_auth_methods_supported": [
"client_secret_post",
"client_secret_basic",
"private_key_jwt",
"none"
],
"code_challenge_methods_supported": [
"S256"
],
"client_id_metadata_document_supported": true
}
- Linguagem predominante
- Python
- Estrelas
- 21.6k
- Forks
- 4k
- Merge médio
- 12h 6min
- PRs com merge (30d)
- 4
Preparar o ambiente
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de google/adk-python
-
services
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
google/adk-python#7341 · 2 reações · 1 responsável ·
Mantenedores costumam responder em até 5 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
google/adk-python#7334 · 2 comentários · 1 responsável ·
Mantenedores costumam responder em até 5 dias
-
GoogleOidcVerifier treats string "false" as a verified email claimTalvez já em andamento @surajksharma07 assumiu há 3 dias. Abertacore
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
google/adk-python#7289 · 5 comentários · 1 responsável ·
Mantenedores costumam responder em até 5 dias
-
RestApiTool raises uncaught KeyError when a required path param is omittedTalvez já em andamento @llalitkumarrr assumiu há 3 dias. Abertarequest clarification tools
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
google/adk-python#7282 · 5 comentários · 1 responsável ·
Mantenedores costumam responder em até 5 dias
-
CredentialsManager should also extract scopes when populating auth schemesTalvez já em andamento @sanketpatil06 assumiu há 6 dias. Abertacore needs review
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
google/adk-python#7266 · 2 comentários · 1 responsável ·
Mantenedores costumam responder em até 5 dias
Todas as issues de google/adk-python
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
kornia/kornia#5263 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
approved correction metadata
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
acl-org/acl-anthology#10133 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
BasedHardware/omi#20084 ·
Mantenedores costumam responder em até 1 dia
-
bug needs-acceptance wg/evaluation-quality
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
vllm-project/semantic-router#4424 ·
Mantenedores costumam responder em até 1 dia