【问题标题】:Node JS+passport Authentication+multiple user typesNode JS+护照认证+多种用户类型
【发布时间】:2016-01-07 09:18:20
【问题描述】:
我是 Node.js 的新手。
在我的应用程序中,我有两种类型的用户角色。
一个是培训师,另一个是客户。
我需要在两个不同页面中为两个用户实施社交身份验证。
起初,我开发了使用护照认证的认证培训师。
开发 facebook、google 并在注册中链接。
现在我也想为客户开发同样的东西。为此,我想创建单独的回调 URL 和单独的应用程序。
如何继续为具有护照身份验证的客户端配置不同的回调。
谁能帮忙解决这个问题。
【问题讨论】:
标签:
node.js
facebook
passport.js
google-authentication
【解决方案1】:
您可以使用中间件来检查用户是否是培训师。这样做的好处是它可以选择允许培训师在一个档案中成为客户。 (也许瑜伽教练想参加一些旋转课程)
var isUserTrainer = function() {
if (req.user && req.user.isTrainer === true) {
next();
} else {
res.send(401);
}
};
app.all('/trainer/*', isUserTrainer()); //use on all request to /trainer/*
app.get('/trainer/', isUserTrainer, function(req, res) {...}); // use on specific route
您只需将isTrainer 添加到您的用户架构中。