Skip to content

set Docker Hub OIDC token lifetime default to 1 hour - #1070

Merged
crazy-max merged 2 commits into
docker:masterfrom
crazy-max:increase-oidc-default-expiry
Nov 5, 2026
Merged

crazy-max merged 2 commits into
docker:masterfrom
crazy-max:increase-oidc-default-expiry

Conversation

@crazy-max

@crazy-max crazy-max commented Aug 11, 2026 •

Copy link
Copy Markdown
Member

closes #1069

This changes Docker Hub OIDC logins to request a one hour token by default. The previous five minute default could expire when workflows run tests, setup, downloads, or other non-Docker steps between login and the later build, push, or pull operation, which made PAT-to-OIDC migrations fail with non-obvious authentication errors.

The one hour default also matches the 60-minute access token lifetime used by Google Artifact Registry. Other registry authentication flows allow longer lifetimes: Azure ACR documents three hours for az acr login, and Amazon ECR authorization tokens are valid for 12 hours. Workflows that exceed the token lifetime still need to authenticate again before later registry operations.

Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
@crazy-max
crazy-max force-pushed the increase-oidc-default-expiry branch from 36a670a to aa87ad8 Compare November 5, 2026 10:48
@crazy-max
crazy-max requested a review from vvoland November 5, 2026 10:48
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
@crazy-max
crazy-max force-pushed the increase-oidc-default-expiry branch from aa87ad8 to 98b6675 Compare November 5, 2026 10:51
@crazy-max
crazy-max marked this pull request as ready for review November 5, 2026 10:51
@crazy-max
crazy-max requested a review from a team November 5, 2026 10:59

@thaJeztah thaJeztah left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@crazy-max
crazy-max merged commit dc7d67c into docker:master Nov 5, 2026
11 checks passed
@crazy-max
crazy-max deleted the increase-oidc-default-expiry branch November 5, 2026 11:32
renovate Bot added a commit to sdwilsh/sOS that referenced this pull request Nov 5, 2026
##### [\`v4.8.0\`](https://github.com/docker/login-action/releases/tag/v4.8.0)

- Set Docker Hub OIDC token lifetime default to 1 hour by [@crazy-max](https://github.com/crazy-max) in [#1070](docker/login-action#1070)
- Bump [@aws-sdk/client-ecr](https://github.com/aws-sdk/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws-sdk/client-ecr-public) to 3.1161.0 in [#1103](docker/login-action#1103)
- Bump [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.107.0 to 0.109.0 in [#1105](docker/login-action#1105)
- Bump vite from 7.3.6 to 7.3.7 in [#1101](docker/login-action#1101)

**Full Changelog**: <docker/login-action@v4.7.0...v4.8.0>

---
##### [\`v4.7.0\`](https://github.com/docker/login-action/releases/tag/v4.7.0)

- Preserve explicit ECR settings in `registry-auth` by [@crazy-max](https://github.com/crazy-max) in [#1089](docker/login-action#1089)
- Use registry hosts for scoped credentials by [@crazy-max](https://github.com/crazy-max) in [#1088](docker/login-action#1088)
- Raise Docker Hub OIDC max expiry to 6 hours by [@crazy-max](https://github.com/crazy-max) in [#1068](docker/login-action#1068)
- Log Docker Hub OIDC token exchange progress by [@crazy-max](https://github.com/crazy-max) in [#1061](docker/login-action#1061)
- Bump [@aws-sdk/client-ecr](https://github.com/aws-sdk/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws-sdk/client-ecr-public) to 3.1154.0 in [#1093](docker/login-action#1093)
- Bump [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.94.0 to 0.107.0 in [#1100](docker/login-action#1100)
- Bump [@humanfs/node](https://github.com/humanfs/node) from 0.16.7 to 0.16.8 in [#1077](docker/login-action#1077)
- Bump csv-parse from 7.0.1 to 7.0.3 in [#1078](docker/login-action#1078)
- Bump handlebars from 4.7.9 to 4.7.10 in [#1091](docker/login-action#1091)
- Bump js-yaml from 5.2.2 to 5.5.0 in [#1066](docker/login-action#1066)
- Bump postcss from 8.5.22 to 8.5.26 in [#1071](docker/login-action#1071)
- Bump postcss-selector-parser from 7.1.1 to 7.1.6 in [#1092](docker/login-action#1092)
- Bump source-map-js from 1.2.1 to 1.2.2 in [#1090](docker/login-action#1090)
- Bump undici from 6.27.0 to 6.29.1 in [#1085](docker/login-action#1085)
- Bump uuid from 14.0.1 to 14.0.3 in [#1096](docker/login-action#1096)

**Full Changelog**: <docker/login-action@v4.6.0...v4.7.0>

---
##### [\`v4.6.0\`](https://github.com/docker/login-action/releases/tag/v4.6.0)

- Harden buildx scoped config path handling by [@crazy-max](https://github.com/crazy-max) in [#1059](docker/login-action#1059)
- Bump [@aws-sdk/client-ecr](https://github.com/aws-sdk/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws-sdk/client-ecr-public) to 3.1095.0 in [#1051](docker/login-action#1051)
- Bump js-yaml from 5.2.1 to 5.2.2 in [#1057](docker/login-action#1057)
- Bump postcss from 8.5.10 to 8.5.22 in [#1056](docker/login-action#1056)

**Full Changelog**: <docker/login-action@v4.5.2...v4.6.0>

---
##### [\`v4.5.2\`](https://github.com/docker/login-action/releases/tag/v4.5.2)

- Surface Docker Hub OIDC error responses by [@crazy-max](https://github.com/crazy-max) in [#1058](docker/login-action#1058)

**Full Changelog**: <docker/login-action@v4.5.1...v4.5.2>

---
##### [\`v4.5.1\`](https://github.com/docker/login-action/releases/tag/v4.5.1)

- Support `dhi.io` as Docker Hub OIDC registry by [@crazy-max](https://github.com/crazy-max) in [#1054](docker/login-action#1054)

**Full Changelog**: <docker/login-action@v4.5.0...v4.5.1>

---
##### [\`v4.5.0\`](https://github.com/docker/login-action/releases/tag/v4.5.0)

- [Docker Hub OIDC](https://github.com/docker/login-action#docker-hub) login support by [@crazy-max](https://github.com/crazy-max) in [#1048](docker/login-action#1048)
- Bump [@aws-sdk/client-ecr](https://github.com/aws-sdk/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws-sdk/client-ecr-public) to 3.1091.0 in [#1037](docker/login-action#1037)
- Bump [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.92.0 to 0.94.0 in [#1044](docker/login-action#1044) [#1050](docker/login-action#1050)
- Bump brace-expansion from 1.1.13 to 1.1.16 in [#1046](docker/login-action#1046)
- Bump js-yaml from 5.2.0 to 5.2.1 in [#1038](docker/login-action#1038)

**Full Changelog**: <docker/login-action@v4.4.0...v4.5.0>

---
##### [\`v4.4.0\`](https://github.com/docker/login-action/releases/tag/v4.4.0)

- Skip empty `registry-auth` secret mask by [@crazy-max](https://github.com/crazy-max) in [#1035](docker/login-action#1035)
- Bump [@aws-sdk/client-ecr](https://github.com/aws-sdk/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws-sdk/client-ecr-public) to 3.1077.0 [#1034](docker/login-action#1034)

**Full Changelog**: <docker/login-action@v4.3.0...v4.4.0>

---
##### [\`v4.3.0\`](https://github.com/docker/login-action/releases/tag/v4.3.0)

- Preserve names in esbuild bundle by [@crazy-max](https://github.com/crazy-max) in [#1022](docker/login-action#1022)
- Bump [@aws-sdk/client-ecr](https://github.com/aws-sdk/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws-sdk/client-ecr-public) to 3.1076.0 [#999](docker/login-action#999) [#1030](docker/login-action#1030)
- Bump [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.90.0 to 0.92.0 in [#1004](docker/login-action#1004) [#1027](docker/login-action#1027)
- Bump [@sigstore/core](https://github.com/sigstore/core) from 3.1.0 to 3.2.1 in [#1023](docker/login-action#1023)
- Bump [@sigstore/verify](https://github.com/sigstore/verify) from 3.1.0 to 3.1.1 in [#1029](docker/login-action#1029)
- Bump http-proxy-agent and https-proxy-agent to 9.1.0 in [#1017](docker/login-action#1017)
- Bump js-yaml from 4.1.1 to 5.2.0 in [#1028](docker/login-action#1028)
- Bump sigstore from 4.1.0 to 4.1.1 in [#1031](docker/login-action#1031)
- Bump tmp from 0.2.5 to 0.2.7 in [#1002](docker/login-action#1002)
- Bump undici from 6.24.1 to 6.27.0 in [#1020](docker/login-action#1020)
- Bump vite from 7.3.3 to 7.3.6 in [#1019](docker/login-action#1019)

**Full Changelog**: <docker/login-action@v4.2.0...v4.3.0>

---
##### [\`v4.2.0\`](https://github.com/docker/login-action/releases/tag/v4.2.0)

- Bump [@actions/core](https://github.com/actions/core) from 3.0.0 to 3.0.1 in [#976](docker/login-action#976)
- Bump [@aws-sdk/client-ecr](https://github.com/aws-sdk/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws-sdk/client-ecr-public) to 3.1050.0 in [#960](docker/login-action#960)
- Bump [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.86.0 to 0.90.0 in [#970](docker/login-action#970)
- Bump brace-expansion from 2.0.1 to 5.0.6 in [#993](docker/login-action#993)
- Bump fast-xml-builder from 1.1.4 to 1.2.0 in [#985](docker/login-action#985)
- Bump fast-xml-parser from 5.3.6 to 5.8.0 in [#963](docker/login-action#963)
- Bump http-proxy-agent and https-proxy-agent to 9.0.0 in [#961](docker/login-action#961)
- Bump postcss from 8.5.6 to 8.5.10 in [#979](docker/login-action#979)
- Bump tar from 6.2.1 to 7.5.15 in [#991](docker/login-action#991)
- Bump vite from 7.3.1 to 7.3.3 in [#986](docker/login-action#986)

**Full Changelog**: <docker/login-action@v4.1.0...v4.2.0>

---
##### [\`v4.1.0\`](https://github.com/docker/login-action/releases/tag/v4.1.0)

- Fix scoped Docker Hub cleanup path when registry is omitted by [@crazy-max](https://github.com/crazy-max) in [#945](docker/login-action#945)
- Bump [@aws-sdk/client-ecr](https://github.com/aws-sdk/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws-sdk/client-ecr-public) to 3.1020.0 in [#930](docker/login-action#930)
- Bump [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.77.0 to 0.86.0 in [#932](docker/login-action#932) [#936](docker/login-action#936)
- Bump brace-expansion from 1.1.12 to 1.1.13 in [#952](docker/login-action#952)
- Bump fast-xml-parser from 5.3.4 to 5.3.6 in [#942](docker/login-action#942)
- Bump flatted from 3.3.3 to 3.4.2 in [#944](docker/login-action#944)
- Bump glob from 10.3.12 to 10.5.0 in [#940](docker/login-action#940)
- Bump handlebars from 4.7.8 to 4.7.9 in [#949](docker/login-action#949)
- Bump http-proxy-agent and https-proxy-agent to 8.0.0 in [#937](docker/login-action#937)
- Bump lodash from 4.17.23 to 4.18.1 in [#958](docker/login-action#958)
- Bump minimatch from 3.1.2 to 3.1.5 in [#941](docker/login-action#941)
- Bump picomatch from 4.0.3 to 4.0.4 in [#948](docker/login-action#948)
- Bump undici from 6.23.0 to 6.24.1 in [#938](docker/login-action#938)

**Full Changelog**: <docker/login-action@v4.0.0...v4.1.0>

---
##### [\`v4.0.0\`](https://github.com/docker/login-action/releases/tag/v4.0.0)

- Node 24 as default runtime (requires [Actions Runner v2.327.1](https://github.com/actions/runner/releases/tag/v2.327.1) or later) by [@crazy-max](https://github.com/crazy-max) in [#929](docker/login-action#929)
- Switch to ESM and update config/test wiring by [@crazy-max](https://github.com/crazy-max) in [#927](docker/login-action#927)
- Bump [@actions/core](https://github.com/actions/core) from 1.11.1 to 3.0.0 in [#919](docker/login-action#919)
- Bump [@aws-sdk/client-ecr](https://github.com/aws-sdk/client-ecr) from 3.890.0 to 3.1000.0 in [#909](docker/login-action#909) [#920](docker/login-action#920)
- Bump [@aws-sdk/client-ecr-public](https://github.com/aws-sdk/client-ecr-public) from 3.890.0 to 3.1000.0 in [#909](docker/login-action#909) [#920](docker/login-action#920)
- Bump [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.63.0 to 0.77.0 in [#910](docker/login-action#910) [#928](docker/login-action#928)
- Bump [@isaacs/brace-expansion](https://github.com/isaacs/brace-expansion) from 5.0.0 to 5.0.1 in [#921](docker/login-action#921)
- Bump js-yaml from 4.1.0 to 4.1.1 in [#901](docker/login-action#901)

**Full Changelog**: <docker/login-action@v3.7.0...v4.0.0>
robarnold pushed a commit to robarnold/paper-mesh-a that referenced this pull request Nov 7, 2026
##### [\`v4.8.0\`](https://github.com/docker/login-action/releases/tag/v4.8.0)

- Set Docker Hub OIDC token lifetime default to 1 hour by [@crazy-max](https://github.com/crazy-max) in [#1070](docker/login-action#1070)
- Bump [@aws-sdk/client-ecr](https://github.com/aws-sdk/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws-sdk/client-ecr-public) to 3.1161.0 in [#1103](docker/login-action#1103)
- Bump [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.107.0 to 0.109.0 in [#1105](docker/login-action#1105)
- Bump vite from 7.3.6 to 7.3.7 in [#1101](docker/login-action#1101)

**Full Changelog**: <docker/login-action@v4.7.0...v4.8.0>
robarnold pushed a commit to robarnold/paper-mesh-a that referenced this pull request Nov 7, 2026
##### [\`v4.8.0\`](https://github.com/docker/login-action/releases/tag/v4.8.0)

- Set Docker Hub OIDC token lifetime default to 1 hour by [@crazy-max](https://github.com/crazy-max) in [#1070](docker/login-action#1070)
- Bump [@aws-sdk/client-ecr](https://github.com/aws-sdk/client-ecr) and [@aws-sdk/client-ecr-public](https://github.com/aws-sdk/client-ecr-public) to 3.1161.0 in [#1103](docker/login-action#1103)
- Bump [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.107.0 to 0.109.0 in [#1105](docker/login-action#1105)
- Bump vite from 7.3.6 to 7.3.7 in [#1101](docker/login-action#1101)

**Full Changelog**: <docker/login-action@v4.7.0...v4.8.0>

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants