在节点上设置OAuth2 - 在MongoDB中处理用户的最简单方法
Setting up OAuth2 on Node - easiest way to handle users in MongoDB?
我已经设置了一个在NodeJS上运行的OAuth2身份验证服务器。我基于OAuth2orize for Passport中的示例。
现在我需要将硬编码用户与MongoDB中的用户切换。
我已经尝试了不同的解决方案,但并没有真正能够让任何解决方案令人满意,所以我希望这里有人能有一种更简单的方法来实施它。我宁愿不使用猫鼬,而只使用MongoDB驱动程序。
当前为用户设置如下所示:
var users = [
{ id: '1', username: 'bob', password: 'secret', name: 'Bob Smith' },
{ id: '2', username: 'joe', password: 'password', name: 'Joe Davis' }
];
exports.find = function(id, done) {
for (var i = 0, len = users.length; i < len; i++) {
var user = users[i];
if (user.id === id) {
return done(null, user);
}
}
return done(null, null);
};
exports.findByUsername = function(username, done) {
for (var i = 0, len = users.length; i < len; i++) {
var user = users[i];
if (user.username === username) {
return done(null, user);
}
}
return done(null, null);
};
想出一种方法会很棒,让findByUsername 只连接到数据库,验证用户名是否存在,并从用户集合中返回用户对象。
关于如何以最少的麻烦解决这个问题的任何想法?
如果您需要更多我的代码,请告诉我。
也许mongojs是你需要的?
exports.findByUsername = function(username, done) {
db.users.findOne({username: user.username},function(err, user) {
if(err) return done(err);
return done(null, user);
});
};
相关文章:
- 在Nodejs中为许多用户处理计时器
- 如何处理用户关闭地理位置弹出窗口时的情况
- 如何使用QT Quick处理用户数据
- Javascript:处理用户生成脚本的最佳方式
- 在节点上设置OAuth2 - 在MongoDB中处理用户的最简单方法
- 警报不处理用户输入
- 预防'内容嗅探'处理用户上传的图像时存在类型漏洞
- 如何处理用户在Firefox和Chrome中关闭“物理位置”提示
- 网站的Facebook登录:处理用户Facebook注销的最佳实践
- 如何使用Gmap在浏览器地理位置中处理用户审批
- 如何处理用户上传的图像
- 在backbone.js应用程序中处理用户
- 如何让AngularJS自定义过滤器处理用户输入?
- 如何处理用户在Javascript中添加注释
- 用mongoDB处理用户活动提要
- 使用Facebook Javascript SDK处理用户会话
- 如何通过浏览器返回按钮处理用户到达页面
- 如何使用每个函数的map以特定的顺序处理用户
- 如何处理用户信息使用firebase简单登录为facebook
- 处理用户是否登录