首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@types/passport 1.0.5版本生成新错误:类型验证器不满足约束IncomingMessage

@types/passport 1.0.5版本生成新错误:类型验证器不满足约束IncomingMessage
EN

Stack Overflow用户
提问于 2021-01-08 04:56:39
回答 1查看 107关注 0票数 1

我有一个使用Passport.JS进行oAuth2身份验证的Koa.JS web应用程序。此web应用程序是用typescript编写的。下面是验证码:

代码语言:javascript
复制
import { deserializeUser, serializeUser, use } from 'koa-passport';
import { Strategy, VerifyCallback } from 'passport-oauth2';
import config from 'config';
import { Authenticator } from 'passport';
const OAuth2Strategy = Strategy;
use(
  new OAuth2Strategy(
    config.get('oauth2'),
    (accessToken: string, refreshToken: string, profile: any, done: VerifyCallback): void => 
    {
      if (accessToken && refreshToken) {
        const tokens = { access_token: accessToken, refresh_token: refreshToken };
        done(null, tokens);
      } else {
        done(undefined, undefined, { message: 'An error occurred!' });
      }
    }
  )
);

serializeUser<Authenticator, Authenticator>(
  (user: Authenticator, done: (err: any, id?: Authenticator | undefined) => void): void => {
    done(null, user);
  }
);

使用@types/passport 1.0.4可以很好地编译web应用程序,但当我将@types/passport的版本升级到1.0.5时,会产生新的错误。

代码语言:javascript
复制
Type 'Authenticator<Handler, any, any, AuthenticateOptions>' does not satisfy the constraint 'IncomingMessage'.
Type 'Authenticator<Handler, any, any, AuthenticateOptions>' is missing the following properties from type 'IncomingMessage': aborted, httpVersion, httpVersionMajor, httpVersionMinor, and 45 more.

serializeUser<Authenticator, Authenticator>

有没有人经历过这种情况?

EN

回答 1

Stack Overflow用户

发布于 2021-03-16 07:19:17

也许是Authenticator接口的变化?你说什么!?是-仅对版本号进行微小更改的接口更改!

我预计koa-passport的serializeUser界面可能与passport的更新不同步……在我的世界里--界面的突破性变化通常意味着重大的版本变化。

如下所示,Passport的V1.0.4允许使用通用TUser

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

现在,在passport的V1.0.5中,接口被更改为仅限于Express.User。serializeUser(fn:(user: Express.User,done:(err: any,id?:TID) => void) => void):void;

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65619819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档