Skip to content

Commit

Permalink
Handle empty authentication tokens better
Browse files Browse the repository at this point in the history
Signed-off-by: Prabhu Subramanian <prabhu@appthreat.com>
  • Loading branch information
prabhu committed Nov 19, 2023
1 parent 6d87fd9 commit 6bc12fe
Showing 1 changed file with 21 additions and 10 deletions.
31 changes: 21 additions & 10 deletions docker.js
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ export const getOnlyDirs = (srcpath, dirName) => {
};

const getDefaultOptions = () => {
let authTokenSet = false;
const opts = {
enableUnixSockets: true,
throwHttpErrors: true,
Expand Down Expand Up @@ -127,6 +128,7 @@ const getDefaultOptions = () => {
console.log(
`Using the existing authentication token for the docker server ${serverAddress}`
);
authTokenSet = true;
break;
}
}
Expand All @@ -135,25 +137,34 @@ const getDefaultOptions = () => {
// pass
}
}
} else if (process.env.DOCKER_AUTH_CONFIG) {
}
if (!authTokenSet && process.env.DOCKER_AUTH_CONFIG) {
opts.headers = {
"X-Registry-Auth": process.env.DOCKER_AUTH_CONFIG
};
} else if (
authTokenSet = true;
}
if (
!authTokenSet &&
process.env.DOCKER_USER &&
process.env.DOCKER_PASSWORD &&
process.env.DOCKER_EMAIL &&
process.env.DOCKER_SERVER_ADDRESS
) {
const authPayload = {
username: process.env.DOCKER_USER,
email: process.env.DOCKER_EMAIL,
serveraddress: process.env.DOCKER_SERVER_ADDRESS
};
if (process.env.DOCKER_USER === "<token>") {
authPayload.IdentityToken = process.env.DOCKER_PASSWORD;
} else {
authPayload.password = process.env.DOCKER_PASSWORD;
}
opts.headers = {
"X-Registry-Auth": Buffer.from(
JSON.stringify({
username: process.env.DOCKER_USER,
password: process.env.DOCKER_PASSWORD,
email: process.env.DOCKER_EMAIL,
serveraddress: process.env.DOCKER_SERVER_ADDRESS
})
).toString("base64")
"X-Registry-Auth": Buffer.from(JSON.stringify(authPayload)).toString(
"base64"
)
};
}
const userInfo = _userInfo();
Expand Down

0 comments on commit 6bc12fe

Please sign in to comment.