@@ -87,15 +87,16 @@ module.exports = function authenticate(passport, name, options, callback) {
87
87
return callback ( null , false , failures [ 0 ] . challenge , failures [ 0 ] . status ) ;
88
88
} else {
89
89
var challenges = failures . map ( function ( f ) { return f . challenge ; } ) ;
90
- var statuses = failures . map ( function ( f ) { return f . status ; } )
90
+ var statuses = failures . map ( function ( f ) { return f . status ; } ) ;
91
91
return callback ( null , false , challenges , statuses ) ;
92
92
}
93
93
}
94
94
95
95
// Strategies are ordered by priority. For the purpose of flashing a
96
96
// message, the first failure will be displayed.
97
97
var failure = failures [ 0 ] || { }
98
- , challenge = failure . challenge || { } ;
98
+ , challenge = failure . challenge || { }
99
+ , msg ;
99
100
100
101
if ( options . failureFlash ) {
101
102
var flash = options . failureFlash ;
@@ -105,13 +106,13 @@ module.exports = function authenticate(passport, name, options, callback) {
105
106
flash . type = flash . type || 'error' ;
106
107
107
108
var type = flash . type || challenge . type || 'error' ;
108
- var msg = flash . message || challenge . message || challenge ;
109
+ msg = flash . message || challenge . message || challenge ;
109
110
if ( typeof msg == 'string' ) {
110
111
req . flash ( type , msg ) ;
111
112
}
112
113
}
113
114
if ( options . failureMessage ) {
114
- var msg = options . failureMessage ;
115
+ msg = options . failureMessage ;
115
116
if ( typeof msg == 'boolean' ) {
116
117
msg = challenge . message || challenge ;
117
118
}
@@ -130,16 +131,16 @@ module.exports = function authenticate(passport, name, options, callback) {
130
131
// actions#fail). If multiple strategies failed, each of their challenges
131
132
// will be included in the response.
132
133
var rchallenge = [ ]
133
- , rstatus ;
134
+ , rstatus , status ;
134
135
135
136
for ( var j = 0 , len = failures . length ; j < len ; j ++ ) {
136
- var failure = failures [ j ]
137
- , challenge = failure . challenge
138
- , status = failure . status ;
137
+ failure = failures [ j ] ;
138
+ challenge = failure . challenge ;
139
+ status = failure . status ;
139
140
140
141
rstatus = rstatus || status ;
141
142
if ( typeof challenge == 'string' ) {
142
- rchallenge . push ( challenge )
143
+ rchallenge . push ( challenge ) ;
143
144
}
144
145
}
145
146
@@ -193,7 +194,8 @@ module.exports = function authenticate(passport, name, options, callback) {
193
194
return callback ( null , user , info ) ;
194
195
}
195
196
196
- info = info || { }
197
+ info = info || { } ;
198
+ var msg ;
197
199
198
200
if ( options . successFlash ) {
199
201
var flash = options . successFlash ;
@@ -203,13 +205,13 @@ module.exports = function authenticate(passport, name, options, callback) {
203
205
flash . type = flash . type || 'success' ;
204
206
205
207
var type = flash . type || info . type || 'success' ;
206
- var msg = flash . message || info . message || info ;
208
+ msg = flash . message || info . message || info ;
207
209
if ( typeof msg == 'string' ) {
208
210
req . flash ( type , msg ) ;
209
211
}
210
212
}
211
213
if ( options . successMessage ) {
212
- var msg = options . successMessage ;
214
+ msg = options . successMessage ;
213
215
if ( typeof msg == 'boolean' ) {
214
216
msg = info . message || info ;
215
217
}
@@ -225,16 +227,7 @@ module.exports = function authenticate(passport, name, options, callback) {
225
227
226
228
req . logIn ( user , options , function ( err ) {
227
229
if ( err ) { return next ( err ) ; }
228
- if ( options . authInfo !== false ) {
229
- passport . transformAuthInfo ( info , req , function ( err , tinfo ) {
230
- if ( err ) { return next ( err ) ; }
231
- req . authInfo = tinfo ;
232
- complete ( ) ;
233
- } ) ;
234
- } else {
235
- complete ( ) ;
236
- }
237
-
230
+
238
231
function complete ( ) {
239
232
if ( options . successReturnToOrRedirect ) {
240
233
var url = options . successReturnToOrRedirect ;
@@ -249,8 +242,18 @@ module.exports = function authenticate(passport, name, options, callback) {
249
242
}
250
243
next ( ) ;
251
244
}
245
+
246
+ if ( options . authInfo !== false ) {
247
+ passport . transformAuthInfo ( info , req , function ( err , tinfo ) {
248
+ if ( err ) { return next ( err ) ; }
249
+ req . authInfo = tinfo ;
250
+ complete ( ) ;
251
+ } ) ;
252
+ } else {
253
+ complete ( ) ;
254
+ }
252
255
} ) ;
253
- }
256
+ } ;
254
257
255
258
/**
256
259
* Fail authentication, with optional `challenge` and `status`, defaulting
@@ -272,7 +275,7 @@ module.exports = function authenticate(passport, name, options, callback) {
272
275
// using the next strategy
273
276
failures . push ( { challenge : challenge , status : status } ) ;
274
277
attempt ( i + 1 ) ;
275
- }
278
+ } ;
276
279
277
280
/**
278
281
* Redirect to `url` with optional `status`, defaulting to 302.
@@ -296,7 +299,7 @@ module.exports = function authenticate(passport, name, options, callback) {
296
299
res . setHeader ( 'Content-Length' , '0' ) ;
297
300
res . end ( ) ;
298
301
}
299
- }
302
+ } ;
300
303
301
304
/**
302
305
* Pass without making a success or fail decision.
@@ -309,7 +312,7 @@ module.exports = function authenticate(passport, name, options, callback) {
309
312
*/
310
313
strategy . pass = function ( ) {
311
314
next ( ) ;
312
- }
315
+ } ;
313
316
314
317
/**
315
318
* Internal error while performing authentication.
@@ -327,11 +330,11 @@ module.exports = function authenticate(passport, name, options, callback) {
327
330
}
328
331
329
332
next ( err ) ;
330
- }
333
+ } ;
331
334
332
335
// ----- END STRATEGY AUGMENTATION -----
333
336
334
337
strategy . authenticate ( req , options ) ;
335
338
} ) ( 0 ) ; // attempt
336
- }
337
- }
339
+ } ;
340
+ } ;
0 commit comments