@@ -56,10 +56,10 @@ async function codeExchange(r) {
56
56
// Check authorization code presence
57
57
if ( ! r . variables . arg_code || r . variables . arg_code . length == 0 ) {
58
58
if ( r . variables . arg_error ) {
59
- r . error ( " OIDC error receiving authorization code for " + r . headersIn [ 'Host' ] + r . uri + ": " +
60
- r . variables . arg_error_description ) ;
59
+ r . error ( ` OIDC error receiving authorization code for ${ r . headersIn . host } ` +
60
+ ` ${ r . uri } ${ r . variables . arg_error_description } ` ) ;
61
61
} else {
62
- r . error ( " OIDC expected authorization code for " + r . headersIn [ 'Host' ] + " but received: " + r . uri ) ;
62
+ r . error ( ` OIDC expected authorization code for ${ r . headersIn . host } but received: ${ r . uri } ` ) ;
63
63
}
64
64
r . return ( 502 ) ;
65
65
return ;
@@ -95,15 +95,15 @@ function getTokenClaims(r, token) {
95
95
r . subrequest ( '/_token_validation' , 'token=' + token ,
96
96
function ( reply ) {
97
97
if ( reply . status !== 200 ) {
98
- r . error ( " Failed to retrieve claims for " + r . headersIn [ 'Host' ] + r . uri + " : HTTP " + reply . status ) ;
98
+ r . error ( ` Failed to retrieve claims for ${ r . headersIn . host } ${ r . uri } : HTTP ${ reply . status } ` ) ;
99
99
resolve ( null ) ;
100
100
return ;
101
101
}
102
102
try {
103
103
const claims = JSON . parse ( reply . responseText ) ;
104
104
resolve ( claims ) ;
105
105
} catch ( e ) {
106
- r . error ( " Failed to parse claims for " + r . headersIn [ 'Host' ] + r . uri + ": " + e ) ;
106
+ r . error ( ` Failed to parse claims for ${ r . headersIn . host } ${ r . uri } : ${ e } ` ) ;
107
107
resolve ( null ) ;
108
108
}
109
109
}
@@ -131,21 +131,21 @@ function validateIdTokenClaims(r, claims) {
131
131
const missingClaims = requiredClaims . filter ( ( claim ) => ! claims [ claim ] ) ;
132
132
133
133
if ( missingClaims . length > 0 ) {
134
- r . error ( `OIDC ID Token validation error for ` + r . headersIn [ 'Host' ] + r . uri + ` : missing claim(s) ${ missingClaims . join ( ' ' ) } `) ;
134
+ r . error ( `OIDC ID Token validation error for ${ r . headersIn . host } ${ r . uri } : missing claim(s) ${ missingClaims . join ( ' ' ) } ` ) ;
135
135
return false ;
136
136
}
137
137
138
138
// Check 'iat' validity
139
139
const iat = Math . floor ( Number ( claims . iat ) ) ;
140
140
if ( String ( iat ) !== claims . iat || iat < 1 ) {
141
- r . error ( `OIDC ID Token validation error for ` + r . headersIn [ 'Host' ] + r . uri + ` : iat claim is not a valid number`) ;
141
+ r . error ( `OIDC ID Token validation error for ${ r . headersIn . host } ${ r . uri } : iat claim is not a valid number` ) ;
142
142
return false ;
143
143
}
144
144
145
145
// Audience must include the configured client
146
146
const aud = Array . isArray ( claims . aud ) ? claims . aud : claims . aud . split ( ',' ) ;
147
147
if ( ! aud . includes ( r . variables . oidc_client ) ) {
148
- r . error ( `OIDC ID Token validation error for ` + r . headersIn [ 'Host' ] + r . uri + ` : aud claim (${ claims . aud } ) ` +
148
+ r . error ( `OIDC ID Token validation error for ${ r . headersIn . host } ${ r . uri } : aud claim (${ claims . aud } ) ` +
149
149
`does not include $oidc_client (${ r . variables . oidc_client } )` ) ;
150
150
return false ;
151
151
}
@@ -160,13 +160,13 @@ function validateIdTokenClaims(r, claims) {
160
160
: '' ;
161
161
162
162
if ( claims . nonce !== clientNonceHash ) {
163
- r . error ( `OIDC ID Token validation error for ` + r . headersIn [ 'Host' ] + r . uri + ` : nonce from token (${ claims . nonce } ) ` +
163
+ r . error ( `OIDC ID Token validation error for ${ r . headersIn . host } ${ r . uri } : nonce from token (${ claims . nonce } ) ` +
164
164
`does not match client (${ clientNonceHash } )` ) ;
165
165
return false ;
166
166
}
167
167
} else if ( isNewSession ( r ) ) {
168
- r . error ( " OIDC ID Token validation error for " + r . headersIn [ 'Host' ] + r . uri +
169
- " : missing nonce claim during initial authentication." ) ;
168
+ r . error ( ` OIDC ID Token validation error for ${ r . headersIn . host } ${ r . uri } ` +
169
+ ` : missing nonce claim during initial authentication.` ) ;
170
170
return false ;
171
171
}
172
172
@@ -227,7 +227,7 @@ async function exchangeCodeForTokens(r) {
227
227
} ) ;
228
228
229
229
if ( reply . status === 504 ) {
230
- r . error ( " OIDC timeout connecting to IdP during code exchange for " + r . headersIn [ 'Host' ] + r . uri ) ;
230
+ r . error ( ` OIDC timeout connecting to IdP during code exchange for ${ r . headersIn . host } ${ r . uri } ` ) ;
231
231
r . return ( 504 ) ;
232
232
return null ;
233
233
}
@@ -241,13 +241,13 @@ async function exchangeCodeForTokens(r) {
241
241
try {
242
242
const tokenset = JSON . parse ( reply . responseText ) ;
243
243
if ( tokenset . error ) {
244
- r . error ( " OIDC for " + r . headersIn [ 'Host' ] + r . uri + ": " + tokenset . error + " " + tokenset . error_description ) ;
244
+ r . error ( ` OIDC error for ${ r . headersIn . host } ${ r . uri } : ${ tokenset . error } ${ tokenset . error_description } ` ) ;
245
245
r . return ( 500 ) ;
246
246
return null ;
247
247
}
248
248
return tokenset ;
249
249
} catch ( e ) {
250
- r . error ( " OIDC token response not JSON for " + r . headersIn [ 'Host' ] + r . uri + ": " + reply . responseText ) ;
250
+ r . error ( ` OIDC token response not JSON for ${ r . headersIn . host } ${ r . uri } : ${ reply . responseText } ` ) ;
251
251
r . return ( 502 ) ;
252
252
return null ;
253
253
}
@@ -267,9 +267,9 @@ async function refreshTokens(r) {
267
267
try {
268
268
const tokenset = JSON . parse ( reply . responseText ) ;
269
269
if ( ! tokenset . id_token ) {
270
- r . error ( " OIDC refresh response for " + r . headersIn [ 'Host' ] + r . uri + " did not include id_token" ) ;
270
+ r . error ( ` OIDC refresh response for ${ r . headersIn . host } ${ r . uri } : did not include id_token` ) ;
271
271
if ( tokenset . error ) {
272
- r . error ( " OIDC error for " + r . headersIn [ 'Host' ] + r . uri + " " + tokenset . error + " " + tokenset . error_description ) ;
272
+ r . error ( ` OIDC error for ${ r . headersIn . host } ${ r . uri } : ${ tokenset . error } ${ tokenset . error_description } ` ) ;
273
273
}
274
274
return null ;
275
275
}
@@ -336,13 +336,13 @@ async function handleFrontChannelLogout(r) {
336
336
337
337
// Validate input parameters
338
338
if ( ! sid ) {
339
- r . error ( " Missing sid parameter in front-channel logout request for " + r . headersIn [ 'Host' ] + r . uri ) ;
339
+ r . error ( ` Missing sid parameter in front-channel logout request for ${ r . headersIn . host } ${ r . uri } ` ) ;
340
340
r . return ( 400 , "Missing sid" ) ;
341
341
return ;
342
342
}
343
343
344
344
if ( ! requestIss ) {
345
- r . error ( " Missing iss parameter in front-channel logout request for " + r . headersIn [ 'Host' ] + r . uri ) ;
345
+ r . error ( ` Missing iss parameter in front-channel logout request for ${ r . headersIn . host } ${ r . uri } ` ) ;
346
346
r . return ( 400 , "Missing iss" ) ;
347
347
return ;
348
348
}
@@ -373,8 +373,8 @@ async function handleFrontChannelLogout(r) {
373
373
374
374
const claims = await getTokenClaims ( r , sessionJwt ) ;
375
375
if ( claims . iss !== requestIss ) {
376
- r . error ( " Issuer mismatch during logout for " + r . headersIn [ 'Host' ] + r . uri + " : Received iss: " +
377
- requestIss + " , expected: " + claims . iss ) ;
376
+ r . error ( ` Issuer mismatch during logout for ${ r . headersIn . host } ${ r . uri } : Received iss: ` +
377
+ ` ${ requestIss } , expected: ${ claims . iss } ` ) ;
378
378
r . return ( 400 , "Issuer mismatch" ) ;
379
379
return ;
380
380
}
@@ -401,7 +401,7 @@ function initiateNewAuth(r) {
401
401
) ;
402
402
403
403
if ( missingConfig . length ) {
404
- r . error ( " OIDC missing configuration variables for " + r . headersIn [ 'Host' ] + r . uri + " : $oidc_" + missingConfig . join ( " $oidc_" ) ) ;
404
+ r . error ( ` OIDC missing configuration variables for ${ r . headersIn . host } ${ r . uri } : $oidc_${ missingConfig . join ( " $oidc_" ) } ` ) ;
405
405
r . return ( 500 , r . variables . internal_error_message ) ;
406
406
return ;
407
407
}
@@ -467,7 +467,7 @@ function generateTokenRequestParams(r, grant_type) {
467
467
body += "&refresh_token=" + r . variables . refresh_token ;
468
468
break ;
469
469
default :
470
- r . error ( " Unsupported grant type for " + r . headersIn [ 'Host' ] + r . uri + ": " + grant_type ) ;
470
+ r . error ( ` Unsupported grant type for ${ r . headersIn . host } ${ r . uri } : ${ grant_type } ` ) ;
471
471
return ;
472
472
}
473
473
@@ -493,15 +493,15 @@ function handleTokenError(r, reply) {
493
493
try {
494
494
const errorset = JSON . parse ( reply . responseText ) ;
495
495
if ( errorset . error ) {
496
- r . error ( " OIDC error from IdP during token exchange for " + r . headersIn [ 'Host' ] + r . uri + ": " +
497
- errorset . error + ", " + errorset . error_description ) ;
496
+ r . error ( ` OIDC error from IdP during token exchange for ${ r . headersIn . host } ${ r . uri } : ` +
497
+ ` ${ errorset . error } , ${ errorset . error_description } ` ) ;
498
498
} else {
499
- r . error ( " OIDC unexpected response from IdP for " + r . headersIn [ 'Host' ] + r . uri + " (HTTP " +
500
- reply . status + " ). " + reply . responseText ) ;
499
+ r . error ( ` OIDC unexpected response from IdP for ${ r . headersIn . host } ${ r . uri } (HTTP ` +
500
+ ` ${ reply . status } ). ${ reply . responseText } ` ) ;
501
501
}
502
502
} catch ( e ) {
503
- r . error ( " OIDC unexpected response from IdP for " + r . headersIn [ 'Host' ] + r . uri + " (HTTP " + reply . status + "). " +
504
- reply . responseText ) ;
503
+ r . error ( ` OIDC unexpected response from IdP for ${ r . headersIn . host } ${ r . uri } (HTTP ${ reply . status } ). "). ` +
504
+ ` ${ reply . responseText } ` ) ;
505
505
}
506
506
}
507
507
0 commit comments