Updates the ContainerRegistry authentication logic to work with OCI
compliant registries like `ghcr.io`. The changes skip using the Azure
environment credentials unless the bearer service ends with
`.azurecr.io` as these tokens are only useful for ACR. The Azure
AccessToken to Bearer token exchange is also simplified with an
unecessary step removed.
A new special prefix is used for the username when a credential
represents an Azure AccessToken. This is necessary to ensure that only
these specific types of credentials will use the Azure specific steps
for authentication.
Opening this PR off jborean's branch, to run tests (which need to be run on upstream).
Updates the ContainerRegistry authentication logic to work with OCI compliant registries like ghcr.io. The changes skip using the Azure environment credentials unless the bearer service ends with .azurecr.io as these tokens are only useful for ACR. The Azure AccessToken to Bearer token exchange is also simplified with an unecessary step removed.
A new special prefix is used for the username when a credential represents an Azure AccessToken. This is necessary to ensure that only these specific types of credentials will use the Azure specific steps for authentication.
PR Summary
PR Context
PR Checklist