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
* Enable PKCE Support
* Enable PKCE Support
- Code cleanup and refactoring
- New function for setting IdP Client Auth variables
* Enable PKCE Support
- Code cleanup and refactoring
- New function for setting IdP Client Auth variables
* PKCE Support
- Added PKCE documentation to README
- Adjusted pkce keyvalue zones size and timeout
Co-authored-by: Timo Stark <[email protected]>
Copy file name to clipboardExpand all lines: README.md
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,7 @@ This implementation assumes the following environment:
15
15
* The identity provider (IdP) supports OpenID Connect 1.0
16
16
* The authorization code flow is in use
17
17
* NGINX Plus is configured as a relying party
18
-
* The IdP knows NGINX Plus as a confidential client
18
+
* The IdP knows NGINX Plus as a confidential client or a public client using PKCE
19
19
20
20
With this environment, both the client and NGINX Plus communicate directly with the IdP at different stages during the initial authentication event.
21
21
@@ -89,8 +89,8 @@ When NGINX Plus is deployed behind another proxy, the original protocol and port
89
89
* Create an OpenID Connect client to represent your NGINX Plus instance
90
90
* Choose the **authorization code flow**
91
91
* Set the **redirect URI** to the address of your NGINX Plus instance (including the port number), with `/_codexch` as the path, e.g. `https://my-nginx.example.com:443/_codexch`
92
-
* Ensure NGINX Plus is configured as a confidential client (with a client secret)
93
-
* Make a note of the `client ID` and `client secret`
92
+
* Ensure NGINX Plus is configured as a confidential client (with a client secret) or a public client (with PKCE S256 enabled)
93
+
* Make a note of the `client ID` and `client secret` if set
94
94
95
95
* If your IdP supports OpenID Connect Discovery (usually at the URI `/.well-known/openid-configuration`) then use the `configure.sh` script to complete configuration. In this case you can skip the next section. Otherwise:
96
96
* Obtain the URL for `jwks_uri` or download the JWK file to your NGINX Plus instance
@@ -130,6 +130,7 @@ The key-value store is used to maintain persistent storage for ID tokens and ref
Each of the `keyval_zone` parameters are described below.
@@ -229,3 +230,4 @@ This reference implementation for OpenID Connect is supported for NGINX Plus sub
229
230
***R18** Opaque session tokens now used by default. Added support for refresh tokens. Added `/logout` location.
230
231
***R19** Minor bug fixes
231
232
***R22** Separate configuration file, supports multiple IdPs. Configurable scopes and cookie flags. JavaScript is imported as an indepedent module with `js_import`. Container-friendly logging. Additional metrics for OIDC activity.
233
+
***R23** PKCE support. Added support for deployments behind another proxy or load balancer.
0 commit comments