Disabling the PKCE Plain Method
Starting from ACP v4.3.0, PKCE (Proof Key for Code Exchange) verification is enabled by default for login authorization. To maintain backward compatibility with affected plugins that use the Agnostic life cycle and are not yet upgraded, the platform retains the plain code challenge method alongside the secure S256 method after upgrade.
Once all affected Agnostic plugins have been upgraded to versions compatible with ACP v4.3.0, you should remove the plain method to enforce S256-only PKCE verification.
Prerequisites
kubectlaccess to the global cluster with cluster-admin privileges.- All clusters managed by the platform have been upgraded to ACP v4.3.
- The following affected plugins with the
Agnosticlife cycle have been upgraded to versions compatible with ACP v4.3:Alauda Container Platform GitopsAlauda Build of KialiKubeflow BaseAlauda AI
In this context, affected plugins are the listed Agnostic plugins that use the platform OIDC authorization flow; removing plain before all of them are upgraded to ACP v4.3-compatible versions will cause authentication failures.
Procedure
The OIDC client configuration is stored as an OAuth2Client custom resource in the cpaas-system namespace. Determine the target resource name by client ID:
Edit the OAuth2Client resource:
Locate the codeChallengeMethods field and remove the plain entry, keeping only S256:
Save and exit the editor. The change takes effect immediately.
Verification
Confirm that the plain method has been removed:
The output should be:
Run at least one login/authorization verification for each affected plugin (Alauda Container Platform Gitops, Alauda Build of Kiali, Kubeflow Base, and Alauda AI) to confirm there are no PKCE-related authentication failures.
Rollback
If authentication issues occur after removing the plain method (for example, any affected plugin login or authorization fails), add it back:
After rollback, verify affected plugin logins again and then unset OIDC_CLIENT_NAME.