@@ -439,11 +439,13 @@ The embedded AS enforces the following rules on fetched CIMD documents:
439439- The `client_id` field inside the document must exactly match the URL it was
440440 fetched from.
441441- ` redirect_uris` must be present and pass strict validation.
442- - ` token_endpoint_auth_method` must be `none`, omitted, or (per OpenID Connect
443- RP Metadata Choices 1.0) accompanied by a
444- ` token_endpoint_auth_methods_supported` list that includes `none`. Documents
445- that declare a symmetric shared-secret method without also publishing a
446- supported-methods list containing `none` are rejected.
442+ - ` token_endpoint_auth_method` must be `none` or omitted. When it names any
443+ other value (for example, `private_key_jwt`), the document must also publish a
444+ ` token_endpoint_auth_methods_supported` list containing `none` (per OpenID
445+ Connect RP Metadata Choices 1.0), and the server negotiates down to `none`.
446+ Symmetric shared-secret methods (`client_secret_post`, `client_secret_basic`,
447+ ` client_secret_jwt` ) are always rejected, even alongside a supported-methods
448+ list.
447449- ` grant_types` must include `authorization_code`. Unsupported entries in
448450 ` grant_types` and `response_types` are filtered out rather than rejected; the
449451 document is only rejected when the filtered intersection lacks the
@@ -666,10 +668,10 @@ For OAuth 2.0 servers that return identity in the token response itself, see
666668If the upstream identity provider serves its endpoints with a certificate signed
667669by an internal CA (for example, an in-cluster Keycloak or a corporate ADFS
668670behind private PKI), the embedded authorization server can't complete discovery,
669- token, user-info, or Dynamic Client Registration requests to it until it trusts
670- that CA. Set `caBundleRef` on the upstream's `oidcConfig` or `oauth2Config` to
671- point at a ConfigMap containing the PEM-encoded CA bundle. The operator projects
672- it read-only into the proxy pod and the auth server adds it to the system trust
671+ token, user-info, or DCR requests to it until it trusts that CA. Set
672+ ` caBundleRef` on the upstream's `oidcConfig` or `oauth2Config` to point at a
673+ ConfigMap containing the PEM-encoded CA bundle. The operator projects it
674+ read-only into the proxy pod and the auth server adds it to the system trust
673675roots for connections to this upstream only. The bundle augments the system
674676roots; it doesn't restrict trust to this CA or disable public roots.
675677
@@ -711,7 +713,7 @@ restart. When the bundle content is invalid PEM, the operator surfaces a
711713terminal condition on the ` MCPExternalAuthConfig ` rather than retrying
712714reconciliation.
713715
714- ` caBundleRef ` on the upstream provider is independent from ` caBundleRef ` on the
716+ ` caBundleRef ` on the upstream provider is independent of ` caBundleRef ` on the
715717` MCPOIDCConfig ` that validates incoming JWTs (see
716718[ Use a custom CA certificate for the OIDC issuer] ( ./auth-k8s.mdx#use-a-custom-ca-certificate-for-the-oidc-issuer ) ):
717719the two references configure trust for different network hops.
@@ -1135,11 +1137,12 @@ consumer's mirrored condition clears on the next reconcile.
11351137
11361138- The ` client_id ` field inside the fetched document must exactly match the URL
11371139 used to fetch it.
1138- - ` token_endpoint_auth_method ` must be ` none ` , omitted, or paired with a
1139- ` token_endpoint_auth_methods_supported ` list that contains ` none ` . A document
1140- that declares a symmetric shared-secret method (` client_secret_post ` ,
1141- ` client_secret_basic ` , ` client_secret_jwt ` ) without a supported-methods list
1142- containing ` none ` is rejected with ` invalid_client ` .
1140+ - ` token_endpoint_auth_method ` must be ` none ` or omitted. When it names any
1141+ other value (for example, ` private_key_jwt ` ), the document must also publish a
1142+ ` token_endpoint_auth_methods_supported ` list containing ` none ` so the server
1143+ can negotiate down to ` none ` . Symmetric shared-secret methods
1144+ (` client_secret_post ` , ` client_secret_basic ` , ` client_secret_jwt ` ) are always
1145+ rejected with ` invalid_client ` .
11431146- After unsupported entries are filtered out, ` grant_types ` must still include
11441147 ` authorization_code ` and ` response_types ` must still include ` code ` .
11451148- ` redirect_uris ` must be present and valid.
0 commit comments