From d9d467e1b82dca152e0c16f1ff1c15b4f1aa0efa Mon Sep 17 00:00:00 2001 From: Sav <74550527+sberss@users.noreply.github.com> Date: Mon, 3 Jun 2024 11:10:07 +0100 Subject: [PATCH] feat: Allow overriding authentication scheme --- .../docker/registryv2/DockerRegistryV2Abstract.scala | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dockerHashing/src/main/scala/cromwell/docker/registryv2/DockerRegistryV2Abstract.scala b/dockerHashing/src/main/scala/cromwell/docker/registryv2/DockerRegistryV2Abstract.scala index 4c246ed19fe..bb1b717209f 100644 --- a/dockerHashing/src/main/scala/cromwell/docker/registryv2/DockerRegistryV2Abstract.scala +++ b/dockerHashing/src/main/scala/cromwell/docker/registryv2/DockerRegistryV2Abstract.scala @@ -157,6 +157,11 @@ abstract class DockerRegistryV2Abstract(override val config: DockerRegistryConfi .handleErrorWith(tryOCIManifest) } + /** + * Gets the authorization scheme to use for the token request. + */ + protected def getAuthorizationScheme(dockerImageIdentifier: DockerImageIdentifier): AuthScheme = AuthScheme.Bearer + /** * Returns true if this flow is able to process this docker image, * false otherwise @@ -241,7 +246,7 @@ abstract class DockerRegistryV2Abstract(override val config: DockerRegistryConfi manifestHeader: Accept ): IO[Request[IO]] = { val authorizationHeader: Option[Authorization] = - token.map(t => Authorization(Credentials.Token(AuthScheme.Bearer, t))) + token.map(t => Authorization(Credentials.Token(getAuthorizationScheme(imageId), t))) val request = Method.GET( buildManifestUri(imageId), List(