Deine App kann API-Anforderungen im Namen von Benutzerinnen stellen. Deine API-Anforderungen, die von einer App im Namen von Benutzerinnen gestellt werden, werden diesen Benutzerinnen zugeordnet. Wenn deine App beispielsweise Kommentare im Namen von Benutzerinnen postet, wird auf der Benutzeroberfläche GitHub das Avatarfoto der jeweiligen Benutzer*innen zusammen mit dem Identicon-Badge der App als Autor des Issues angezeigt.
Wenn die Anforderung einen entsprechenden Eintrag in den Überwachungs- und Sicherheitsprotokollen nach sich zieht, werden in diesen Protokollen die Benutzer*innen als Akteur aufgeführt, als „programmatic_access_type“ wird jedoch „GitHub App user-to-server token“ angegeben.
Um eine API-Anforderung im Namen von Benutzerinnen zu erstellen, müssen die Benutzerinnen deine App autorisieren. Wenn eine App in einer Organisation mit mehreren Mitgliedern installiert ist, muss die App von jedem Mitglied autorisiert werden, bevor sie in deren Namen handeln kann. Die App muss nicht installiert werden, damit sie von Benutzer*innen autorisiert werden kann.
Wenn Benutzerinnen eine App in ihrem Konto oder ihrer Organisation installieren, gewähren sie der App die Berechtigung, auf die angeforderten Organisations- und Repositoryressourcen zuzugreifen. Während des Installationsprozesses wird auch eine Liste der Kontoberechtigungen angezeigt, die die App für einzelne Benutzerinnen anfordern kann. Wenn Benutzer*innen eine App autorisieren, gewähren sie der App die Berechtigung, in ihrem Namen zu handeln, sowie die von der App angeforderten Kontoberechtigungen.
Nachdem deine App von Benutzerinnen autorisiert wurde, kannst du ein Benutzerzugriffstoken generieren, bei dem es sich um einen OAuth-Tokentyp handelt. Du musst das Benutzerzugriffstoken im Authorization
-Header deiner nachfolgenden API-Anforderungen senden. Weitere Informationen zum Auffordern von Benutzerinnen zur Autorisierung deiner App und zum Generieren von Benutzerzugriffstoken findest du unter Generieren eines Benutzerzugriffstokens für eine GitHub-App.
Anforderungen, die mit einem Benutzerzugriffstoken gesendet werden, werden manchmal als User-to-Server-Anforderungen bezeichnet.
Ein Token verfügt über die gleichen Funktionen für den Zugriff auf Ressourcen und zum Ausführen von Aktionen für diese Ressourcen, über die der Besitzer des Tokens verfügt. Er ist zudem durch alle Bereiche oder Berechtigungen beschränkt, die dem Token zugewiesen werden. Ein Token kann einem Benutzer keine zusätzlichen Zugriffsfunktionen gewähren.
Wenn du die App-Aktivität nicht einzelnen Benutzer*innen, sondern der App zuordnen möchtest, solltest du sie stattdessen als App-Installation authentifizieren. Weitere Informationen findest du unter Authentifizierung als GitHub-App-Installation.
Note
Wenn eine Benutzerin meldet, dass nach der Autorisierung deiner GitHub App keine Ressourcen im Besitz seiner bzw. ihrer Organisation angezeigt werden können und die Organisation SAML-SSO verwendet, weise dendie Benutzerin an, vor der erneuten Autorisierung eine aktive SAML-Sitzung für die Organisation zu starten. Weitere Informationen findest du unter SAML- und GitHub-Apps.