You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Support disabling the Accept header when requesting Json Web Key Sets. (#201)
* Document how to test with Minikube and Helm
Signed-off-by: Hunter Madison <[email protected]>
* Support disabling the "Accept" header when fetching JWK keys.
When attemping to use Kubernetes' api-server as the source of
JWK keys for JWT validation, it will only process requests which
either do not have the "Accept" header set or requests which
have the header set to "application/jwk-set+json".
Signed-off-by: Hunter Madison <[email protected]>
* Add an example making use of the new configuration option.
Signed-off-by: Hunter Madison <[email protected]>
* Update JWKSKeyUseTest to match the new constructor definition.
Signed-off-by: Hunter Madison <[email protected]>
* Address comments from code review.
Signed-off-by: Hunter Madison <[email protected]>
* Address pull request feedback.
Signed-off-by: Hunter Madison <[email protected]>
* Back out service account example.
Signed-off-by: Hunter Madison <[email protected]>
* Added configuration tests to the testsuite + fixed some issues
Signed-off-by: Marko Strukelj <[email protected]>
---------
Signed-off-by: Hunter Madison <[email protected]>
Signed-off-by: Marko Strukelj <[email protected]>
Co-authored-by: Marko Strukelj <[email protected]>
Copy file name to clipboardexpand all lines: README.md
+4
Original file line number
Diff line number
Diff line change
@@ -1485,3 +1485,7 @@ The JWT tokens are signed by the authorization server when they are issued. The
1485
1485
The client may have obtained a new access token, but the Kafka broker has not yet refreshed the public keys from JWKS endpoint resulting in a mismatch. The Kafka Broker will automatically refresh JWT keys if it encounters an unknown `kid`, and the problem will self-correct in this case, you may just need to repeat your request a few times.
1486
1486
1487
1487
It can also happen the other way around. Your existing client may still use the refresh token or the access token issued by the previous authorization server instance while the Kafka broker has already refreshed the keys from JWKS endpoint - resulting in a mismatch between the private key used by authorization server to sign the token, and the published public keys (JWKS endpoint). Since the problem is on the client you may need to configure your client with a newly obtained refresh token, or access token. If you configure your client with clientId and secret, it should autocorrect by itself, you just need to restart it.
1488
+
1489
+
### HTTP 406: Not Acceptable errors.
1490
+
1491
+
For certain servers setting the `Accept` header on outbound requests to `application/json` can cause the identity provider to reject the request. If that is an issue, you can set `oauth.include.accept.header` to `false` and remove the `Accept` header from outbound requests made by the Kafka server or client.
If you're using minikube, you'll need to run `minikube docker-env` before building the image.
72
74
73
75
Deploying
74
76
---------
75
77
78
+
## Via the Strimzi Repository
79
+
76
80
In order for the operator to use your Kafka image, you have to replace the Kafka image coordinates in `packaging/install/cluster-operator/060-Deployment-strimzi-cluster-operator.yaml` in your `strimzi-kafka-operator` project.
77
81
78
82
This image builds the kafka-3.3.2 replacement image, so we need to replace all occurrences where kafka-3.3.2 is referred to into the proper coordinates to our image:
@@ -88,3 +92,15 @@ It's best to check the `060-Deployment-strimzi-cluster-operator.yaml` file manua
88
92
89
93
You can now deploy Strimzi Kafka Operator following instructions in [HACKING.md](../../../HACKING.md)
90
94
95
+
## Via Helm
96
+
97
+
You can also run the operator via its Helm chart and set the `kafka.image.registry` property to your local registry. As an example, if you've built and tagged the image as `local.dev/strimzi/kafka:0.36.0-kafka-3.5.0 `. You can run it using the operator as:
Copy file name to clipboardexpand all lines: examples/kubernetes/README.md
-1
Original file line number
Diff line number
Diff line change
@@ -35,7 +35,6 @@ They assume Keycloak is used as an authorization server, with properly configure
35
35
A single node Kafka cluster with OAuth 2 authentication with OAuth metrics enabled.
36
36
See [README-metrics.md]() for how to setup this example.
37
37
38
-
39
38
### Deploying Keycloak and accessing the Keycloak Admin Console
40
39
41
40
Before deploying any of the Kafka cluster definitions, you need to deploy a Keycloak instance, and configure the realms with the necessary client definitions.
0 commit comments