【发布时间】:2017-07-27 16:53:40
【问题描述】:
我有一个带有 auth0 的 angular 2 web 应用程序用于授权。我正在使用自己的 mongodb 数据库来存储用户信息。 Auth0 在沙箱中提供模板来实现这一点,例如登录脚本:
function login(email, password, callback) {
mongo('mongodb://myusername:mypassword@mymongodbaddres:port/mydbname', function (db) {
var users = db.collection('users');
users.findOne({ email: email }, function (err, user) {
if (err) return callback(err);
if (!user) return callback(new WrongUsernameOrPasswordError(email));
bcrypt.compare(password, user.password, function (err, isValid) {
if (err) {
callback(err);
} else if (!isValid) {
callback(new WrongUsernameOrPasswordError(email));
} else {
callback(null, {
user_id: user._id.toString(),
nickname: user.nickname,
email: user.email
});
}
});
});
});
}
现在的问题是,对于创建脚本 Auth0 需要完成“获取用户”脚本(检查是否还没有使用相同电子邮件的用户)。但是“获取用户”脚本的模板如下:
function getByEmail (name, callback) {
var profile = {
user_id: "103547991597142817347",
nickname: "johnfoo",
email: "johnfoo@gmail.com",
name: "John Foo",
given_name: "John",
family_name: "Foo"
};
callback(null, profile);
}
谁能帮我实现一个有效的“获取用户”脚本?
【问题讨论】:
标签: mongodb authentication auth0