From cf958ffa8598819ddd751110a0a5291c4fc8df70 Mon Sep 17 00:00:00 2001 From: Joakim Olsson Date: Fri, 10 Mar 2023 13:50:38 +0100 Subject: [PATCH] fix: handle response mode query --- app.js | 39 +++++++++++++++++++++++++++------------ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/app.js b/app.js index ba07b18..faf1aa6 100644 --- a/app.js +++ b/app.js @@ -183,13 +183,26 @@ app.get('/authorize', (req, res) => { const codeChallenge = req.query.code_challenge const prompt = req.query.prompt const responseMode = req.query.response_mode + if (responseMode === 'query') { + const code = req.cookies['auth0'] + const session = sessions[code] + if (session) { + session.nonce = nonce + session.state = state + session.codeChallenge = codeChallenge + sessions[codeChallenge] = session + res.redirect(`${redirect}?code=${codeChallenge}&state=${state}`) + return + } + } if (prompt === 'none' && responseMode === 'web_message') { const code = req.cookies['auth0'] const session = sessions[code] - session.nonce = nonce - session.state = state - session.codeChallenge = codeChallenge - res.send(` + if (session) { + session.nonce = nonce + session.state = state + session.codeChallenge = codeChallenge + res.send(` @@ -207,13 +220,16 @@ app.get('/authorize', (req, res) => { `) - } else { - res.cookie('auth0', codeChallenge, { - sameSite: 'None', - secure: true, - httpOnly: true - }) - res.send(` + return + } + } + + res.cookie('auth0', codeChallenge, { + sameSite: 'None', + secure: true, + httpOnly: true + }) + res.send(` @@ -254,7 +270,6 @@ app.get('/authorize', (req, res) => { `) - } }) app.get('/userinfo', (req, res) => {