如何使用Typecript访问PassportJS中serializeUser / deserializeUser内部的对象req?

时间:2019-10-31 13:11:39

标签: node.js typescript express passport.js

我需要访问serializeUser和deserializeUser方法内的req对象。在寻找解决方案时,我发现req对象在这些方法(https://github.com/jaredhanson/passport/pull/160#issuecomment-177973983)中是可选的。

我的问题是我使用的是打字稿,而该类型没有此req参数

serializeUser<TUser, TID>(fn: (user: TUser, done: (err: any, id?: TID) => void) => void): void;

deserializeUser<TUser, TID>(fn: (id: TID, done: (err: any, user?: TUser) => void) => void): void;

,所以当我尝试通过将req添加到参数中来在serializeUser / deserializeUser中使用req参数时,如上面的github链接中所示,编译器会引发错误

  

类型'(req:any,id:any,done:any)=> void'的参数不是   可分配给类型为'(id:any,done:(err:any,user ?:   未知)=>无效)=>无效'。

我是TypeScript的新手,并不完全知道我需要修改或创建的内容。

0 个答案:

没有答案