Skip to content

Commit

Permalink
Merge remote-tracking branch 'starry/fix-401'
Browse files Browse the repository at this point in the history
  • Loading branch information
Chace committed Oct 2, 2024
2 parents 628a1f9 + 9c57433 commit 89658b2
Showing 1 changed file with 26 additions and 18 deletions.
44 changes: 26 additions & 18 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -58,24 +58,9 @@ async function handleRequest(request) {
redirect: "follow",
});
if (resp.status === 401) {
if (MODE == "debug") {
headers.set(
"Www-Authenticate",
`Bearer realm="http://${url.host}/v2/auth",service="cloudflare-docker-proxy"`
);
} else {
headers.set(
"Www-Authenticate",
`Bearer realm="https://${url.hostname}/v2/auth",service="cloudflare-docker-proxy"`
);
}
return new Response(JSON.stringify({ message: "UNAUTHORIZED" }), {
status: 401,
headers: headers,
});
} else {
return resp;
return responseUnauthorized(url);
}
return resp;
}
// get token
if (url.pathname == "/v2/auth") {
Expand Down Expand Up @@ -122,7 +107,11 @@ async function handleRequest(request) {
headers: request.headers,
redirect: "follow",
});
return await fetch(newReq);
const resp = await fetch(newReq);
if (resp.status == 401) {
return responseUnauthorized(url);
}
return resp;
}

function parseAuthenticate(authenticateStr) {
Expand Down Expand Up @@ -153,3 +142,22 @@ async function fetchToken(wwwAuthenticate, scope, authorization) {
}
return await fetch(url, { method: "GET", headers: headers });
}

function responseUnauthorized(url) {
const headers = new(Headers);
if (MODE == "debug") {
headers.set(
"Www-Authenticate",
`Bearer realm="http://${url.host}/v2/auth",service="cloudflare-docker-proxy"`
);
} else {
headers.set(
"Www-Authenticate",
`Bearer realm="https://${url.hostname}/v2/auth",service="cloudflare-docker-proxy"`
);
}
return new Response(JSON.stringify({ message: "UNAUTHORIZED" }), {
status: 401,
headers: headers,
});
}

0 comments on commit 89658b2

Please sign in to comment.