Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: refresh token only once for all concurrent requests #2692

Merged
merged 1 commit into from
Oct 3, 2022

Conversation

nabokihms
Copy link
Member

Signed-off-by: m.nabokikh maksim.nabokikh@flant.com

Overview

This PR moves the external provider refresh call to the transaction. If the underlying Dex storage has a proper locking mechanism, in combination with the reuseInterval option for all concurrent requests, Dex will call refresh for an external provider only once.

What this PR does / why we need it

Closes #2547

Special notes for your reviewer

Does this PR introduce a user-facing change?

Refresh the id token only once for all concurrent requests. Fixes errors on token refreshing for Gitlab/OIDC providers.

Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>
Copy link
Member

@sagikazarmark sagikazarmark left a comment

Choose a reason for hiding this comment

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

LGTM, thanks @nabokihms !

@sagikazarmark sagikazarmark added this to the v2.35.0 milestone Oct 3, 2022
@sagikazarmark sagikazarmark merged commit e4bceef into dexidp:master Oct 3, 2022
xtremerui pushed a commit to concourse/dex that referenced this pull request Oct 3, 2022
**⚠️ This release fixes a [major vulnerability](GHSA-vh7g-p26c-j2cw) in Dex. We advise everyone to upgrade as soon as possible! ⚠️**

The official container image for this release can be pulled from
```
ghcr.io/dexidp/dex:v2.35.0
```

<!-- Release notes generated using configuration in .github/release.yml at v2.35.0 -->

## What's Changed
### Enhancements 🚀
* Reduce HTTP client creations in the Keystone connector by @erwinvaneyk in dexidp#2659
### Bug Fixes 🐛
* fix for issue 2670; check for no serviceAccountFilePath and no email by @bobcallaway in dexidp#2679
* supply HMACKey in test case by @bobcallaway in dexidp#2683
* fix: refresh token only once for all concurrent requests by @nabokihms in dexidp#2692
### Dependency Updates ⬆️
* build(deps): bump google.golang.org/api from 0.95.0 to 0.97.0 by @dependabot in dexidp#2677
* build(deps): bump go.etcd.io/etcd/client/v3 from 3.5.4 to 3.5.5 by @dependabot in dexidp#2666
* build(deps): bump google.golang.org/api from 0.97.0 to 0.98.0 by @dependabot in dexidp#2682
* build(deps): bump helm/kind-action from 1.3.0 to 1.4.0 by @dependabot in dexidp#2681
* build(deps): bump entgo.io/ent from 0.11.2 to 0.11.3 by @dependabot in dexidp#2684
* Update golang.org/x packages by @sagikazarmark in dexidp#2688

## New Contributors
* @jannfis made their first contribution in dexidp#2691

**Full Changelog**: dexidp/dex@v2.34.0...v2.35.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release-note/bug-fix Release note: Bug Fixes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Refresh with connector only once
2 participants