mirror of https://github.com/docker/cli.git
0c29d6bac1
This commit adds support for the oauth [device-code](https://auth0.com/docs/get-started/authentication-and-authorization-flow/device-authorization-flow)
login flow when authenticating against the official registry.
This is achieved by adding `cli/internal/oauth`, which contains code to manage
interacting with the Docker OAuth tenant (`login.docker.com`), including launching
the device-code flow, refreshing access using the refresh-token, and logging out.
The `OAuthManager` introduced here is also made available through the `command.Cli`
interface method `OAuthManager()`.
In order to maintain compatibility with any clients manually accessing
the credentials through `~/.docker/config.json` or via credential
helpers, the added `OAuthManager` uses the retrieved access token to
automatically generate a PAT with Hub, and store that in the
credentials.
Signed-off-by: Laura Brehm <laurabrehm@hey.com>
(cherry picked from commit
|
||
---|---|---|
.. | ||
dario.cat/mergo | ||
github.com | ||
go.etcd.io/etcd/raft/v3 | ||
go.opentelemetry.io | ||
golang.org/x | ||
google.golang.org | ||
gopkg.in/yaml.v2 | ||
gotest.tools/v3 | ||
tags.cncf.io/container-device-interface | ||
modules.txt |