fix(auth): add PKCE to OpenID Connect login
giteabot backport / giteabot (push) Canceled after 0s
giteabot / giteabot (push) Canceled after 0s
release-nightly / nightly-binary (push) Canceled after 0s
release-nightly / nightly-container (push) Canceled after 0s
release-nightly-snapcraft / build-and-publish (push) Canceled after 0s

Generate a per-login verifier, persist it in the Goth session, send an S256 challenge, and include the verifier during the token exchange when explicitly enabled.

Assisted-by: Codex:GPT-5
This commit is contained in:
2026-08-29 16:19:49 +08:00
parent 23b7c61eff
commit 746b23b098
7 changed files with 292 additions and 8 deletions
+12
View File
@@ -76,3 +76,15 @@ DEFAULT_APPLICATIONS =
loadOAuth2From(cfg)
assert.Nil(t, OAuth2.DefaultApplications)
}
func TestOAuth2ClientOpenIDConnectPKCE(t *testing.T) {
cfg, _ := NewConfigProviderFromData(``)
loadOAuth2ClientFrom(cfg)
assert.False(t, OAuth2Client.EnableOpenIDConnectPKCE)
cfg, _ = NewConfigProviderFromData(`[oauth2_client]
ENABLE_OPENID_CONNECT_PKCE = true
`)
loadOAuth2ClientFrom(cfg)
assert.True(t, OAuth2Client.EnableOpenIDConnectPKCE)
}