From c0e00f19abe3aabe04769b75fea51b7b5cb69ee7 Mon Sep 17 00:00:00 2001 From: "ye.sijun" Date: Thu, 27 Jan 2022 17:34:27 +0800 Subject: [PATCH] fix acr fetch token 400 Signed-off-by: ye.sijun --- remotes/docker/authorizer.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/remotes/docker/authorizer.go b/remotes/docker/authorizer.go index d898ca4f8..eaa0e5dbd 100644 --- a/remotes/docker/authorizer.go +++ b/remotes/docker/authorizer.go @@ -311,7 +311,8 @@ func (ah *authHandler) doBearerAuth(ctx context.Context) (token, refreshToken st // Registries without support for POST may return 404 for POST /v2/token. // As of September 2017, GCR is known to return 404. // As of February 2018, JFrog Artifactory is known to return 401. - if (errStatus.StatusCode == 405 && to.Username != "") || errStatus.StatusCode == 404 || errStatus.StatusCode == 401 { + // As of January 2022, ACR is known to return 400. + if (errStatus.StatusCode == 405 && to.Username != "") || errStatus.StatusCode == 404 || errStatus.StatusCode == 401 || errStatus.StatusCode == 400 { resp, err := auth.FetchToken(ctx, ah.client, ah.header, to) if err != nil { return "", "", err