From ce0be7b9f5a79ae99e61f99ca844ee75ac58854e Mon Sep 17 00:00:00 2001 From: Troy Gerwien Date: Sun, 6 Apr 2014 11:59:54 +0800 Subject: [PATCH] amend passport.d.ts - passport.d.ts has been amended to merge its Request extensions into express's Request interface. - removed now-unnecessary type coercions from passport-test.ts --- passport/passport-test.ts | 8 ++++---- passport/passport.d.ts | 18 ++++++++++-------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/passport/passport-test.ts b/passport/passport-test.ts index f102b306e..e3ee9d4f2 100644 --- a/passport/passport-test.ts +++ b/passport/passport-test.ts @@ -7,7 +7,7 @@ import passport = require('passport'); class TestStrategy implements passport.Strategy { public name: string = 'test'; constructor() {} - authenticate(req: passport.Request) {} + authenticate(req: express.Request) {} } passport.use(new TestStrategy()); @@ -33,7 +33,7 @@ app.post('/login', res.redirect('/'); }); -app.post('/login', function(req: passport.Request, res: passport.Response, next: (err?: any) => void) { +app.post('/login', function(req, res, next) { passport.authenticate('local', function(err, user, info) { if (err) { return next(err) } if (!user) { @@ -47,12 +47,12 @@ app.post('/login', function(req: passport.Request, res: passport.Response, next: })(req, res, next); }); -app.get('/logout', function(req: passport.Request, res: passport.Response) { +app.get('/logout', function(req, res) { req.logout(); res.redirect('/'); }); -function ensureAuthenticated(req: passport.Request, res: passport.Response, next: (err?: any) => void) { +function ensureAuthenticated(req: express.Request, res: express.Response, next: (err?: any) => void) { if (req.isAuthenticated()) { return next(); } if (req.isUnauthenticated()) { res.redirect('/login'); diff --git a/passport/passport.d.ts b/passport/passport.d.ts index ae401b252..cd86228f6 100644 --- a/passport/passport.d.ts +++ b/passport/passport.d.ts @@ -38,7 +38,16 @@ declare module 'passport' { transformAuthInfo(fn: (info: any, done: (err: any, info: any) => void) => void): void; } - interface Request extends express.Request { + interface Strategy { + name?: string; + authenticate(req: express.Request, options?: Object): void; + } +} + +declare module Express { + export interface Request { + + // These declarations are merged into express's Request type login(user: any, done: (err: any) => void): void; login(user: any, options: Object, done: (err: any) => void): void; logIn(user: any, done: (err: any) => void): void; @@ -50,11 +59,4 @@ declare module 'passport' { isAuthenticated(): boolean; isUnauthenticated(): boolean; } - interface Response extends express.Response {} - - interface Strategy { - name?: string; - authenticate(req: Request, options?: Object): void; - } } -