0

使用 Google 和 Azure 进行登录,效果很好。

但是我必须使用 //@ts-ignore 因为它会引发一个我不知道如何修复的严重错误。

谷歌

authRouter.get('/google',
passport.authenticate('google', { scope: ['profile', 'email'] }));

天蓝色

authRouter.get("/ms", (req: Request, res: Response, next: NextFunction) => {
//@ts-ignore
passport.authenticate('azure', { session: false, response: res, failureRedirect: "/" })(req, res, next);})

所以没有//@ts-ignore评论装饰器,我得到一个过载错误说

'"azure"' 类型的参数不能分配给 '"google"' 类型的参数。

我尝试制作 Passport 的多个实例,{ Passport }然后制作 a const google = new Passport()andconst ms = new Passport()但这并不能解决问题。

我不喜欢这样欺骗 TS 编译器,而且我做错了,所以我想得到纠正。

(如果有人感到困惑,我将我的 OIDC 策略命名为“azure”,而不是保留默认的“azuread-openidconnect”)

4

0 回答 0