DockerCLI/vendor/github.com/go-jose/go-jose/v3/jwt
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
..
builder.go auth: add support for oauth device-code login 2024-08-14 19:48:04 +01:00
claims.go auth: add support for oauth device-code login 2024-08-14 19:48:04 +01:00
doc.go auth: add support for oauth device-code login 2024-08-14 19:48:04 +01:00
errors.go auth: add support for oauth device-code login 2024-08-14 19:48:04 +01:00
jwt.go auth: add support for oauth device-code login 2024-08-14 19:48:04 +01:00
validation.go auth: add support for oauth device-code login 2024-08-14 19:48:04 +01:00