node.js - 如何检查 express js 中的部分 URL?
问题描述
我正在开发一个应用程序,在那里我邀请其他人。因此,如果 url 模式匹配,我只想跳过护照身份验证。这是代码:
const routes = (app) => {
app.all('/*', (req, res, next) => {
if ((req.path === '/api/v2/auth/sign_up') || (req.path === '/api/v2/members/invite*'))
next();
else if (req.path === '/api/v2/auth/sign_in') {
passport.authenticate('local', { session: false }, (err, user, info) => {
if (!user || err || info != undefined) {
return res.status(500).send({ message: "Something went wrong, Please try again!" });
}
req.user = user;
next();
})(req, res, next);
} else {
passport.authenticate('jwt', { session: false }, (err, user, info) => {
if (!user || err || info != undefined) {
return res.status(500).send({ message: "Something went wrong, Please try again!" });
}
req.user = user;
next();
})(req, res, next);
}
app.use('/api/v2/members/invite',
require("./memberInviteRoute"));
app.use('/api/v2/members',
authorize('admin', 'company'),
require("./memberRoute"));
});
}
module.exports = routes;
解决方案
推荐阅读
- python - 我可以使用 python 和美丽的汤将用户定义的搜索词作为几种可能的搜索字段类型之一提交吗?
- python - 使用 matplotlib 绘制和保存图像时如何获得更多 fps
- javascript - 如何在不打开新窗口的情况下将变量传递给 php?
- c# - LINQ 在信息组上不同
- python - RPG文字游戏商店修正
- python - 如何使用 ctypes.windll.user32.SetWindowsHookExW 挂钩 ctypes.windll.user32.MessageBoxW?
- nginx - 如果错误,如何更正我的 nginx 配置?
- c# - JSON.NET 用空字符串序列化数组作为默认值
- android - TabBar + BottomBarNavigation 场景中控制器的长度问题
- bash - 如果存在高严重性漏洞,则在 npm install 时失败 shell 脚本