Skip to content

Commit 521caf9

Browse files
committed
Add OIDC landing page for NGINX to redirect after successful OIDC login
remove login endpoint
1 parent 6ad8ec6 commit 521caf9

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

openid_connect.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ function codeExchange(r) {
188188
r.log("OIDC success, creating session " + r.variables.request_id);
189189
r.variables.new_session = tokenset.id_token; // Create key-value store entry
190190
r.headersOut["Set-Cookie"] = "auth_token=" + r.variables.request_id + "; " + r.variables.oidc_cookie_flags;
191-
r.return(302, r.variables.redirect_base + r.variables.cookie_auth_redir);
191+
redirectPostLogin(r);
192192
}
193193
);
194194
} catch (e) {
@@ -253,6 +253,15 @@ function validateIdToken(r) {
253253
}
254254
}
255255

256+
// Redirect URI after successful login from the OP.
257+
function redirectPostLogin(r) {
258+
if (r.variables.oidc_landing_page) {
259+
r.return(302, r.variables.oidc_landing_page);
260+
} else {
261+
r.return(302, r.variables.redirect_base + r.variables.cookie_auth_redir);
262+
}
263+
}
264+
256265
function logout(r) {
257266
r.log("OIDC logout for " + r.variables.cookie_auth_token);
258267
r.variables.session_jwt = "-";

openid_connect_configuration.conf

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,13 @@ map $host $oidc_scopes {
4444
default "openid+profile+email+offline_access";
4545
}
4646

47+
map $host $oidc_landing_page {
48+
# Where to send browser after successful login. If empty, redirects User
49+
# Agent to $request_uri.
50+
default "";
51+
#www.example.com $redirect_base;
52+
}
53+
4754
map $host $oidc_logout_redirect {
4855
# Where to send browser after requesting /logout location. This can be
4956
# replaced with a custom logout page, or complete URL.

0 commit comments

Comments
 (0)