KnpLabs / KnpLabs/php-github-api
Get release asset end in AccessDenied
Nessuno ha ancora preso questa issue.
- Lingua principale
- PHP
- Stelle
- 2.2k
- Fork
- 585
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
With the GuzzleHTTP\Client it's not possible to load assets as binary, the redirect to https://objects.githubusercontent.com/ returns an error:
$token = 'example';
$client = Client::createWithHttpClient( new \GuzzleHttp\Client() );
$client->authenticate( $token, Client::AUTH_ACCESS_TOKEN );
$content = $this->client->repo()->releases()->assets()->show( $username, $name, $assetId, true );
$temp = tempnam( sys_get_temp_dir(), 'TMP_' );
file_put_contents( $temp, $content );
<Error>
<Code>AccessDenied</Code>
<Message>Multiple auth mechanisms are not allowed; please use either query parameters or an Authorization header</Message>
<Resource>github-production-release-asset-XXXXX</Resource>
</Error>
With the HttpClient\HttplugClient from Symfony it works:
...
$client = Client::createWithHttpClient( new \Symfony\Component\HttpClient\HttplugClient() );
$client->authenticate( $token, Client::AUTH_ACCESS_TOKEN );
...
The redirect-plugin uses the same client which appends the Authorization-header to the request, but the redirect-URL already contains query-parameter for authentication.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia tracciando releases()->assets()->show(..., true) attraverso la gestione dei reindirizzamenti utilizzata con GuzzleHttp\Client, confrontandola con HttplugClient di Symfony. Riproduci il reindirizzamento a objects.githubusercontent.com e verifica che l'asset della release venga scaricato senza inviare sia l'header Authorization sia i parametri di autenticazione della query.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- php
- Ambito
- api
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100