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
@@ -607,7 +609,7 @@ The configuration in the example doesn't enable TLS and the synchronization betw
607
609
608
610
#### Limitations
609
611
610
-
The OIDC policy defines a few internal locations that can't be customized: `/_jwks_uri`, `/_token`, `/_refresh`, `/_id_token_validation`, `/logout`, `/_logout`. In addition, as explained below `/_codexch` is the default value for redirect URI, but can be customized. Specifying one of these locations as a route in the VirtualServer or VirtualServerRoute will result in a collision and NGINX Plus will fail to reload.
612
+
The OIDC policy defines a few internal locations that can't be customized: `/_jwks_uri`, `/_token`, `/_refresh`, `/_id_token_validation`, `/logout`. In addition, as explained below, `/_codexch` is the default value for redirect URI, and `/_logout` is the default value for post logout redirect URI, both of which can be customized. Specifying one of these locations as a route in the VirtualServer or VirtualServerRoute will result in a collision and NGINX Plus will fail to reload.
611
613
612
614
{{% table %}}
613
615
|Field | Description | Type | Required |
@@ -617,9 +619,11 @@ The OIDC policy defines a few internal locations that can't be customized: `/_jw
617
619
|``authEndpoint`` | URL for the authorization endpoint provided by your OpenID Connect provider. | ``string`` | Yes |
618
620
|``authExtraArgs`` | A list of extra URL arguments to pass to the authorization endpoint provided by your OpenID Connect provider. Arguments must be URL encoded, multiple arguments may be included in the list, for example ``[ arg1=value1, arg2=value2 ]`` | ``string[]`` | No |
619
621
|``tokenEndpoint`` | URL for the token endpoint provided by your OpenID Connect provider. | ``string`` | Yes |
622
+
|``endSessionEndpoint`` | URL provided by your OpenID Connect provider to request the end user be logged out. | ``string`` | No |
620
623
|``jwksURI`` | URL for the JSON Web Key Set (JWK) document provided by your OpenID Connect provider. | ``string`` | Yes |
621
624
|``scope`` | List of OpenID Connect scopes. The scope ``openid`` always needs to be present and others can be added concatenating them with a ``+`` sign, for example ``openid+profile+email``, ``openid+email+userDefinedScope``. The default is ``openid``. | ``string`` | No |
622
625
|``redirectURI`` | Allows overriding the default redirect URI. The default is ``/_codexch``. | ``string`` | No |
626
+
|``postLogoutRedirectURI`` | URI to redirect to after the logout has been performed. Requires ``endSessionEndpoint``. The default is ``/_logout``. | ``string`` | No |
623
627
|``zoneSyncLeeway`` | Specifies the maximum timeout in milliseconds for synchronizing ID/access tokens and shared values between Ingress Controller pods. The default is ``200``. | ``int`` | No |
624
628
|``accessTokenEnable`` | Option of whether Bearer token is used to authorize NGINX to access protected backend. | ``boolean`` | No |
Copy file name to clipboardExpand all lines: examples/custom-resources/oidc/README.md
+16-20
Original file line number
Diff line number
Diff line change
@@ -84,15 +84,7 @@ To set up Keycloak:
84
84
kubectl apply -f client-secret.yaml
85
85
```
86
86
87
-
## Step 6 - Deploy the OIDC Policy
88
-
89
-
Create a policy with the name `oidc-policy` that references the secret from the previous step:
90
-
91
-
```console
92
-
kubectl apply -f oidc.yaml
93
-
```
94
-
95
-
## Step 7 - Configure NGINX Plus Zone Synchronization and Resolver
87
+
## Step 6 - Configure NGINX Plus Zone Synchronization and Resolver
96
88
97
89
In this step we configure:
98
90
@@ -110,23 +102,19 @@ Steps:
110
102
kubectl apply -f nginx-ingress-headless.yaml
111
103
```
112
104
113
-
1. Get the cluster IP of the KubeDNS service:
105
+
1. Apply the ConfigMap `nginx-config.yaml`, which contains a stream snippet that enables zone synchronization and the resolver using the kube-dns service.
Copy file name to clipboardExpand all lines: examples/custom-resources/oidc/keycloak_setup.md
+8-5
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,9 @@ This guide will help you configure KeyCloak using Keycloak's API:
7
7
8
8
**Notes**:
9
9
10
-
- This guide has been tested with keycloak 19.0.2 and later. If you modify `keycloak.yaml` to use an older version, Keycloak may not start correctly or the commands in this guide may not work as expected. The Keycloak OpenID endpoints `oidc.yaml` might also be different in older versions of Keycloak.
10
+
- This guide has been tested with keycloak 19.0.2 and later. If you modify `keycloak.yaml` to use an older version,
11
+
Keycloak may not start correctly or the commands in this guide may not work as expected. The Keycloak OpenID
12
+
endpoints `oidc.yaml` might also be different in older versions of Keycloak.
11
13
- if you changed the admin username and password for Keycloak in `keycloak.yaml`, modify the commands accordingly.
12
14
- The instructions use [`jq`](https://stedolan.github.io/jq/).
13
15
@@ -26,12 +28,13 @@ Steps:
26
28
```
27
29
28
30
Ensure the request was successful and the token is stored in the shell variable by running:
31
+
29
32
```console
30
33
echo $TOKEN
31
34
```
32
35
33
-
***Note***: The access token lifespan is very short. If it expires between commands, retrieve it again with the
34
-
command above.
36
+
***Note***: The access token lifespan is very short. If it expires between commands, retrieve it again with the
37
+
command above.
35
38
36
39
1. Create the user `nginx-user`:
37
40
@@ -42,10 +45,10 @@ Steps:
42
45
1. Create the client `nginx-plus` and retrieve the secret:
0 commit comments