@@ -47,6 +47,7 @@ passport.use( 'facebook', new FacebookStrategy(
47
47
owner : 'facebook:' + profile . id ,
48
48
accessToken : accessToken
49
49
} ;
50
+ console . trace ( '** Facebook strategy!' ) ;
50
51
return done ( null , allUserData ) ;
51
52
}
52
53
) ) ;
@@ -152,6 +153,13 @@ app.configure(function () {
152
153
}
153
154
next ( ) ;
154
155
} ) ;
156
+ app . use ( function ( req , res , next ) {
157
+ if ( req . query [ 'auth-return' ] )
158
+ {
159
+ req . session [ 'auth-return' ] = req . query [ 'auth-return' ] ;
160
+ }
161
+ next ( ) ;
162
+ } ) ;
155
163
app . use ( express . static ( __dirname + '/dist' ) ) ;
156
164
157
165
} ) ;
@@ -169,37 +177,55 @@ app.get('/auth/connections', function (req, res) {
169
177
}
170
178
} ) ;
171
179
172
- app . get ( '/auth/facebook' ,
173
- passport . authenticate ( 'facebook' ) ) ;
174
- app . get (
175
- '/auth/facebook/callback' ,
176
- passport . authenticate ( 'facebook' , { failureRedirect : '#auth-failure' } ) ,
180
+ app . get ( '/auth/imap' ,
177
181
function ( req , res ) {
178
- res . redirect ( '/' ) ;
182
+ res . redirect ( '/#imap ' ) ;
179
183
}
180
184
) ;
181
- app . get ( '/auth/twitter' ,
182
- passport . authenticate ( 'twitter' ) ) ;
183
- app . get (
184
- '/auth/twitter/callback' ,
185
- passport . authenticate ( 'twitter' , { failureRedirect : '#auth-failure' } ) ,
185
+
186
+ app . get ( '/auth/facebook/callback' ,
187
+ passport . authenticate ( 'facebook' , { failureRedirect : '#auth-failure' } ) ,
186
188
function ( req , res ) {
187
- res . redirect ( '/' ) ;
189
+ if ( req . session [ 'auth-return' ] )
190
+ res . redirect ( req . session [ 'auth-return' ] ) ;
191
+ else
192
+ res . redirect ( '/' ) ;
188
193
}
189
194
) ;
190
- app . get ( '/auth/gmail' ,
191
- passport . authenticate ( 'gmail' ) ) ;
192
- app . get (
193
- '/auth/gmail/callback' ,
194
- passport . authenticate ( 'gmail' , { failureRedirect : '#auth-failure' } ) ,
195
+
196
+ app . get ( '/auth/twitter/callback' ,
197
+ passport . authenticate ( 'twitter' , { failureRedirect : '#auth-failure' } ) ,
195
198
function ( req , res ) {
196
- res . redirect ( '/' ) ;
199
+ if ( req . session [ 'auth-return' ] )
200
+ res . redirect ( req . session [ 'auth-return' ] ) ;
201
+ else
202
+ res . redirect ( '/' ) ;
197
203
}
198
204
) ;
199
- app . post ( '/auth/imap/callback' ,
200
- passport . authenticate ( 'imap' , { failureRedirect : '#auth-failure' } ) ,
205
+
206
+ app . get ( '/auth/imap/callback' ,
207
+ passport . authenticate ( 'imap' , { failureRedirect : '#auth-failure' } ) ,
208
+ function ( req , res ) {
209
+ if ( req . session [ 'auth-return' ] )
210
+ res . redirect ( req . session [ 'auth-return' ] ) ;
211
+ else
212
+ res . redirect ( '/' ) ;
213
+ }
214
+ ) ;
215
+
216
+ app . get ( '/auth/gmail/callback' ,
217
+ passport . authenticate ( 'gmail' , { failureRedirect : '#auth-failure' } ) ,
218
+ function ( req , res ) {
219
+ if ( req . session [ 'auth-return' ] )
220
+ res . redirect ( req . session [ 'auth-return' ] ) ;
221
+ else
222
+ res . redirect ( '/' ) ;
223
+ }
224
+ ) ;
225
+
226
+ app . get ( '/auth/:service' ,
201
227
function ( req , res ) {
202
- res . redirect ( '/' ) ;
228
+ ( passport . authenticate ( req . params . service ) ) ( req , res ) ;
203
229
}
204
230
) ;
205
231
0 commit comments