Skip to content

Commit dcfd3d1

Browse files
committed
docs: Document OIDC clientAuthenticationMethod and use it in test
1 parent 3dccf99 commit dcfd3d1

3 files changed

Lines changed: 11 additions & 2 deletions

File tree

docs/modules/druid/examples/druid-oidc-authentication.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ spec:
2222
- authenticationClass: oidc-auth
2323
oidc:
2424
clientCredentialsSecret: druid-oidc-client
25+
# Optional: Override the client authentication method (default: client_secret_basic).
26+
# Supported values: client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt, none.
27+
clientAuthenticationMethod: client_secret_basic
2528
[...]
2629
# end::druid[]
2730

docs/modules/druid/pages/usage-guide/security.adoc

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,13 @@ The secret containing the OIDC client credentials should be structured like this
102102
include::example$druid-oidc-authentication.yaml[tag=secret]
103103
----
104104

105-
NOTE: OIDC authentication may fail since Druid versions `35.x.x` and `36.x.x` due to a change in how the authentication method is selected when connecting to an OIDC provider.
106-
If your OIDC provider (e.g. Keycloak) advertises `private_key_jwt` as a supported client authentication method, Druid may attempt to use it, which causes authentication to fail.
105+
==== Client authentication method
106+
107+
The `clientAuthenticationMethod` field controls which method Druid uses when authenticating with the OIDC provider's token endpoint.
108+
Supported values are `client_secret_basic` (default), `client_secret_post`, `client_secret_jwt`, `private_key_jwt`, and `none`.
109+
110+
NOTE: Since Druid versions `35.x.x` and `36.x.x`, the underlying pac4j library may auto-detect `private_key_jwt` from the OIDC provider's discovery document, causing authentication to fail.
111+
If you encounter this, set `clientAuthenticationMethod` explicitly to `client_secret_post` (or whichever method your provider expects).
107112

108113
=== Current Limitations and Upcoming Work
109114

tests/templates/kuttl/oidc/40_druid.yaml.j2

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ spec:
3737
- authenticationClass: druid-oidc-auth-class-$NAMESPACE
3838
oidc:
3939
clientCredentialsSecret: druid-oidc-client
40+
clientAuthenticationMethod: client_secret_post
4041
deepStorage:
4142
s3:
4243
bucket:

0 commit comments

Comments
 (0)