Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Add first party support for Github App

Offen
#3,005 6 Kommentare 10 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
30/100
Issue-Typ
Feature
Klarheit
Muss geklärt werden
Aktivitätsstatus
Veraltet
Tech-Stack
github, go
Bereich
api, authentication

Rechercherichtung

Beginnen Sie mit der Überprüfung von github.Client, AppServiceCreateInstallationToken und ChecksService sowie der drei im Issue verlinkten Authentifizierungsabläufe von GitHub. Definieren Sie die erforderliche First-Party-Unterstützung für App-, Installations- und Benutzeranmeldedaten, einschließlich der sicheren Wiederverwendung und Aktualisierung kurzlebiger Tokens über mehrere API-Aufrufe hinweg.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

enhancement

Many of the apis requires to be invoked as Github App, eg. https://docs.github.com/en/rest/checks/runs?apiVersion=2022-11-28. And currently we need to use third-party packages like ghinstallation to do so.

However, this is not the full story. When creating a Github App, it involves many different kinds of creds:

And we need to use different cred to call different APIs. For now, the only way to do so is to create many different github.Clients, each holding a different credential.

And we need to do this with extra care, as all these token are short-lived, and need to be cached/refreshed periodically. Which means, blindly creating those clients will cause lots of rate limiting issues.

For instance, to use github.ChecksService, we need:

  • Auth as Github App itself by creating a JWT with app's private key, to call github.AppServiceCreateInstallationToken
  • Once we have the token, we can auth as app installation, then calling github.ChecksService

Which requires 2 github.Clients in total.

Vorherrschende Sprache
Go
Sterne
11.3k
Forks
2.6k
Ø Merge
2 T. 2 Std.
Gemergte PRs (30 T.)
34

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus google/go-github

Alle Issues in google/go-github

Ähnliche Issues

Weitere Issues zu Go

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.