gpt4 book ai didi

node.js - Passport 的路由文件问题

转载 作者:搜寻专家 更新时间:2023-11-01 00:15:35 26 4
gpt4 key购买 nike

我正在使用 NodeJS、Express 和 PassportJS 构建网络应用程序。我的其中一条路线有问题,我无法理解。当我有:

...
app.get('/auth/facebook', passport.authenticate('facebook'));
...

似乎一切正常。但是当我将其更改为:

...
app.get('/auth/facebook',
function(req, res) {
passport.authenticate('facebook');
});
...

挂了?我在 app.get 功能上遗漏了什么吗?我希望能够做到这一点,因为我想让我确定 Passport 身份验证的路径更加动态。例如:

...
app.get('/auth/:provider',
function(req, res) {
passport.authenticate(req.params.provider);
});
...

提供者可以是 facebooktwittergoogle...

最佳答案

passport.authenticate 是中间件,看源码:https://github.com/jaredhanson/passport/blob/master/lib/passport/middleware/authenticate.js

passport.authenticate('facebook') 返回一个函数,该函数从 express 获取 req、res、next 参数并处理它们。

所以:

app.get('/auth/:provider',
function(req, res, next) {
passport.authenticate(req.params.provider)(req, res, next);
});

是你需要的。

关于node.js - Passport 的路由文件问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15443450/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com