Auth transports add credentials after cross-origin redirects
Mantenedores costumam responder em até 1 dia
Um pull request relacionado já foi integrado.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Estagnada
- Stack de tecnologia
- go
- Domínio
- backend-api-design, security
Direção de pesquisa
Comece com BasicAuthTransport e UnauthenticatedRateLimitedTransport, especialmente com seus métodos RoundTrip, e reproduza o comportamento com dois servidores httptest conforme descrito. Está concluído quando houver cobertura de regressão para ambos os transports e as solicitações redirecionadas para uma origem diferente não contiverem seus cabeçalhos de autorização adicionados pelo transport.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Summary
BasicAuthTransport and UnauthenticatedRateLimitedTransport add credentials in RoundTrip for each outgoing request. When Go's net/http client follows a redirect to a different origin, the redirected request can pass through the same transport and receive those credentials again.
Expected behavior
Credentials added by these transports should only be sent to the original origin. Redirected requests that cross origin should continue without these transport-managed credentials.
Reproduction
This can be reproduced with two httptest servers: one server returns a redirect to a second server, and the second server records whether the redirected request contains the transport-added authorization headers.
Proposed fix
PR #4364 avoids adding these credentials on cross-origin redirect requests and includes regression coverage for both affected transports.
- Linguagem predominante
- Go
- Estrelas
- 11.3k
- Forks
- 2.6k
- Merge médio
- 1d 22h
- PRs com merge (30d)
- 45
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
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/go-github
-
`EnterpriseUpdateBudget` has fields that are no longer in the "Update a budget" request schemaTalvez já em andamento @JamBalaya56562 assumiu há 2 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 15/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 5/100
google/go-github#4636 · 12 comentários · 3 reações ·
Mantenedores costumam responder em até 1 dia
-
http.Client.Timeout is ignored by redirect-aware requestsTalvez já em andamento @sb123sb123 assumiu há 42 dias. Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 1 dia
-
Add additional functionality for enterprise budgetsTalvez já em andamento @wtneff assumiu há 101 dias. Aberta
google/go-github#4408 · 2 comentários · 1 reação · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
Metadata questionAberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
google/go-github#4334 · 11 comentários ·
Mantenedores costumam responder em até 1 dia
Todas as issues de google/go-github
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
limitlessprojects/Go-Hybrid#3342 ·
Mantenedores costumam responder em até 1 dia
-
status/ready type/bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
buildpacks/pack#2733 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
-
kind/bug needs-priority needs-triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
konveyor/tackle2-hub#1166 · 1 comentário ·
Mantenedores costumam responder em até 4 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
router-for-me/CLIProxyAPI#7209 ·
Mantenedores costumam responder em até 1 dia