DockerCLI/cli/command/registry
Laura Brehm fcfdd7b91f
auth: add support for oauth device-code login
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>
2024-08-14 19:48:04 +01:00
..
testdata search: deprecate "is-automated" filter and "IsAutomated" field 2023-08-09 12:11:05 +02:00
formatter_search.go golangci-lint: enable more linters 2023-11-20 19:52:46 +01:00
formatter_search_test.go golangci-lint: enable more linters 2023-11-20 19:52:46 +01:00
login.go auth: add support for oauth device-code login 2024-08-14 19:48:04 +01:00
login_test.go auth: add support for oauth device-code login 2024-08-14 19:48:04 +01:00
logout.go auth: add support for oauth device-code login 2024-08-14 19:48:04 +01:00
search.go vendor: github.com/docker/docker a736d0701c41 (master, v27.0.0-dev) 2024-06-10 17:41:09 +02:00