Skip to content

Commit 6ae8ab7

Browse files
FloFlorian Sander
andauthored
Fix app authentication for enterprise GitHub (#835)
Insert api/v3/ if base URL is not github.com for App Authentication. Co-authored-by: Florian Sander <[email protected]>
1 parent 4f660b5 commit 6ae8ab7

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

github/apps.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@ func GenerateOAuthTokenFromApp(baseURL, appID, appInstallationID, pemData string
3131
}
3232

3333
func getInstallationAccessToken(baseURL string, jwt string, installationID string) (string, error) {
34+
if baseURL != "https://api.github.com/" {
35+
baseURL += "api/v3/"
36+
}
37+
3438
url := fmt.Sprintf("%sapp/installations/%s/access_tokens", baseURL, installationID)
3539

3640
req, err := http.NewRequest(http.MethodPost, url, nil)

github/apps_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ func TestGetInstallationAccessToken(t *testing.T) {
145145

146146
ts := githubApiMock([]*mockResponse{
147147
{
148-
ExpectedUri: fmt.Sprintf("/app/installations/%s/access_tokens", testGitHubAppInstallationID),
148+
ExpectedUri: fmt.Sprintf("/api/v3/app/installations/%s/access_tokens", testGitHubAppInstallationID),
149149
ExpectedHeaders: map[string]string{
150150
"Accept": "application/vnd.github.v3+json",
151151
"Authorization": fmt.Sprintf("Bearer %s", fakeJWT),

0 commit comments

Comments
 (0)