From e5ddb3da76806d7ddbab3e50c789d64f85ceb3b9 Mon Sep 17 00:00:00 2001 From: Julius Lehmann Date: Thu, 23 May 2024 15:34:09 +0200 Subject: [PATCH] Support multiple tokens --- src/git-auth-helper.ts | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/git-auth-helper.ts b/src/git-auth-helper.ts index 126e8e5..208e31e 100644 --- a/src/git-auth-helper.ts +++ b/src/git-auth-helper.ts @@ -54,13 +54,22 @@ class GitAuthHelper { // Token auth header const serverUrl = urlHelper.getServerUrl(this.settings.githubServerUrl) this.tokenConfigKey = `http.${serverUrl.origin}/.extraheader` // "origin" is SCHEME://HOSTNAME[:PORT] - const basicCredential = Buffer.from( - `x-access-token:${this.settings.authToken}`, - 'utf8' - ).toString('base64') - core.setSecret(basicCredential) + const authTokenArray = this.settings.authToken.split("\n") + assert.ok(authTokenArray, "Token array not defined") + this.tokenConfigValue = `` + for (const aToken of authTokenArray) { + const basicCredential = Buffer.from( + `x-access-token:${aToken}`, + 'utf8' + ).toString('base64') + core.setSecret(basicCredential) + if (this.tokenConfigValue == null) + this.tokenConfigValue = `AUTHORIZATION: basic ${basicCredential}` + else + this.tokenConfigValue.concat(`\nAUTHORIZATION: basic ${basicCredential}`) + } + this.tokenPlaceholderConfigValue = `AUTHORIZATION: basic ***` - this.tokenConfigValue = `AUTHORIZATION: basic ${basicCredential}` // Instead of SSH URL this.insteadOfKey = `url.${serverUrl.origin}/.insteadOf` // "origin" is SCHEME://HOSTNAME[:PORT]