在passport.js中,我注意到当人们使用authenticate方法时,他们有时会在调用方法后添加(req,res,next?)。这究竟是做什么的?
E.g。这里有一小段摘录:https://github.com/jaredhanson/passport/blob/master/lib/authenticator.js
passport.authenticate('basic', { session: false })(req, res);
谢谢
答案 0 :(得分:0)
Passport是Node.js的身份验证中间件,即它检查正在进行的API请求是否来自经过身份验证的源。 因此,每次发出API请求时,请求(req)都会通过护照使用的身份验证策略,如果成功通过身份验证,则护照会将用户的详细信息绑定到请求(req)。
因此,在您的情况下,如果身份验证成功,则req应包含有关请求API的用户的更多详细信息。您现在可以确定API请求(req)来自经过验证的来源。
为了更好地理解,您可能需要查看以下内容:
https://github.com/jaredhanson/passport-http
https://github.com/passport/express-3.x-http-basic-example/blob/master/server.js