@@ -2,6 +2,7 @@ const crypto = require('crypto');
2
2
const error = require ( '../../lib/error' ) ;
3
3
const express = require ( 'express' ) ;
4
4
const jwtdecode = require ( '../../lib/express/jwt-decode' ) ;
5
+ const logger = require ( '../../logger' ) . oidc ;
5
6
const oidc = require ( 'openid-client' ) ;
6
7
const settingModel = require ( '../../models/setting' ) ;
7
8
const internalToken = require ( '../../internal/token' ) ;
25
26
* OAuth Authorization Code flow initialisation
26
27
*/
27
28
. get ( jwtdecode ( ) , async ( req , res ) => {
28
- console . log ( 'oidc: init flow') ;
29
+ logger . info ( 'Initializing OAuth flow') ;
29
30
settingModel
30
31
. query ( )
31
32
. where ( { id : 'oidc-config' } )
49
50
* Oauth Authorization Code flow callback
50
51
*/
51
52
. get ( jwtdecode ( ) , async ( req , res ) => {
52
- console . log ( 'oidc: callback') ;
53
+ logger . info ( 'Processing callback') ;
53
54
settingModel
54
55
. query ( )
55
56
. where ( { id : 'oidc-config' } )
@@ -137,13 +138,18 @@ let validateCallback = async (req, settings) => {
137
138
const params = client . callbackParams ( req ) ;
138
139
const tokenSet = await client . callback ( settings . meta . redirectURL , params , { state, nonce } ) ;
139
140
let claims = tokenSet . claims ( ) ;
140
- console . log ( 'oidc: authentication successful for email' , claims . email ) ;
141
+
142
+ if ( ! claims . email ) {
143
+ throw new error . AuthError ( 'The Identity Provider didn\'t send the \'email\' claim' ) ;
144
+ } else {
145
+ logger . info ( 'Successful authentication for email ' + claims . email ) ;
146
+ }
141
147
142
148
return internalToken . getTokenFromOAuthClaim ( { identity : claims . email } ) ;
143
149
} ;
144
150
145
151
let redirectToAuthorizationURL = ( res , params ) => {
146
- console . log ( 'oidc: init flow > url > ' , params . url ) ;
152
+ logger . info ( 'Authorization URL: ' + params . url ) ;
147
153
res . cookie ( 'npm_oidc' , params . state + '--' + params . nonce ) ;
148
154
res . redirect ( params . url ) ;
149
155
} ;
@@ -154,7 +160,7 @@ let redirectWithJwtToken = (res, token) => {
154
160
} ;
155
161
156
162
let redirectWithError = ( res , error ) => {
157
- console . log ( 'oidc: callback error: ', error ) ;
163
+ logger . error ( 'Callback error: ' + error . message ) ;
158
164
res . cookie ( 'npm_oidc_error' , error . message ) ;
159
165
res . redirect ( '/login' ) ;
160
166
} ;
0 commit comments