GitHub tools `list_user_installations` and `list_app_installations` fail with app installation auth
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 42/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- github, typescript
- Ambito
- api, authentication
Direzione di ricerca
Inizia tracciando authenticateApp e le implementazioni di list_user_installations e list_app_installations, quindi riproduci entrambi i fallimenti con l’autenticazione dell’installazione di GitHub App. Confronta il token richiesto da ciascun endpoint con il token fornito dagli strumenti; il lavoro è completato quando è stata implementata una gestione concordata per l’autenticazione incompatibile ed entrambi i casi di errore sono coperti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
The list_user_installations and list_app_installations tools fail when using GitHub App installation authentication (the default auth method in scout-agent).
Errors
list_user_installations:
Resource not accessible by integration - https://docs.github.com/rest/apps/installations#list-app-installations-accessible-to-the-user-access-token
list_app_installations:
A JSON web token could not be decoded - https://docs.github.com/rest
Root Cause
These two endpoints require different authentication than what authenticateApp() provides:
| Tool | Endpoint | Required Auth | What we provide |
|---|---|---|---|
list_user_installations |
GET /user/installations |
User access token (OAuth/PAT) | Installation token |
list_app_installations |
GET /app/installations |
App JWT (signed with private key) | Installation token |
When withContext({ appAuth }) is used, the authenticateApp() function exchanges the app JWT for an installation access token. This works for most repository operations, but these two endpoints specifically need different token types.
Suggested Solutions
- Remove these tools from the default toolset when using app auth, since they're not compatible
- Add a separate auth path for
list_app_installationsthat uses the raw JWT instead of exchanging it for an installation token - Document the limitation so users know these tools require user token auth
- Throw a more helpful error when these tools are called with incompatible auth (e.g., "This tool requires a user access token and is not compatible with GitHub App authentication")
Reproduction
- Set up scout-agent with GitHub App auth
- Call either
github_list_user_installationsorgithub_list_app_installations - Observe the errors above
- Lingua principale
- TypeScript
- Stelle
- 165
- Fork
- 20
- Merge medio
- 1m
- PR unite (30g)
- 7
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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.
Altre issue di coder/blink
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
cline/mcp-marketplace#2932 ·
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
lingdojo/kana-dojo#32188 · 1 commento · 5 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Portkey-AI/gateway#1844 ·
I maintainer di solito rispondono entro 1 giorno
-
needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 61/100
rjsf-team/react-jsonschema-form#5495 ·
I maintainer di solito rispondono entro 2 giorni