我需要访问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的新手,并不完全知道我需要修改或创建的内容。