首页 > 解决方案 > 如何检查 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;

标签: node.jsmongodbapiexpress

解决方案


推荐阅读