Update 'userField' from createMsg after Login; Add API for user get, post, put; Refactor API /tag/id
This commit is contained in:
@@ -60,7 +60,6 @@ const authorization = {
|
||||
});
|
||||
}
|
||||
|
||||
// TODO Auth: validate session ID
|
||||
// Check whether to just validate current session ID
|
||||
if (user === '' && pwd === '') {
|
||||
console.log ("auth revalidate: " + req.session.user);
|
||||
|
||||
+84
-4
@@ -131,14 +131,15 @@ const dbs = {
|
||||
});
|
||||
},
|
||||
},
|
||||
"tag": {
|
||||
"tag/id": {
|
||||
params: ":id",
|
||||
/* GET /api/tag/[tag-id]
|
||||
/* GET /api/tag/id/[tag-id]
|
||||
* -> Tag schema
|
||||
* Get a particular tag
|
||||
*/
|
||||
get: function(req, res) {
|
||||
model.Tags.findById(req.params.id) .exec(function(err, result) {
|
||||
model.Tags.findById(req.params.id)
|
||||
.exec(function(err, result) {
|
||||
if (err) {
|
||||
console.log (err);
|
||||
res.status(404).json(err);
|
||||
@@ -149,6 +150,85 @@ const dbs = {
|
||||
});
|
||||
},
|
||||
},
|
||||
"usr/id": {
|
||||
params: ":id",
|
||||
/* GET /api/usr/[usr-id]
|
||||
* -> User Schema
|
||||
* Get a particular user
|
||||
*/
|
||||
get: function(req, res) {
|
||||
model.Users.findById(req.params.id)
|
||||
.exec(function(err, result) {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
res.status(404).json(err);
|
||||
} else {
|
||||
//console.log(JSON.stringify(result));
|
||||
res.json(result);
|
||||
}
|
||||
});
|
||||
},
|
||||
},
|
||||
"usr": {
|
||||
/* POST /api/usr
|
||||
* <- User schema
|
||||
* -> User schema
|
||||
* Create a new user
|
||||
*/
|
||||
post: function(req, res) {
|
||||
model.User.create({
|
||||
_id: req.body.id,
|
||||
name: req.body.name,
|
||||
type: req.body.type,
|
||||
roles: req.body.roles,
|
||||
hash: req.body.hash,
|
||||
salt: req.body.salt,
|
||||
pwd: req.body.pwd,
|
||||
abos: req.body.abos,
|
||||
bookmarks: req.body.bookmarks,
|
||||
}, function(err, result) {
|
||||
if (err) {
|
||||
console.log (err);
|
||||
return res.status(401).json(err.message);
|
||||
} else {
|
||||
res.json({message: "User created!!"});
|
||||
}
|
||||
if (result == null) {
|
||||
return res.status(500).json("Can not create user.")
|
||||
}
|
||||
});
|
||||
},
|
||||
/* PUT /api/usr
|
||||
* <- User schema
|
||||
* -> User schema
|
||||
* Change a user
|
||||
*/
|
||||
put: function(req, res) {
|
||||
model.Users.findById(reg.body._id)
|
||||
.exec(function(err, entry) {
|
||||
if (err)
|
||||
console.log (err);
|
||||
if (entry == null)
|
||||
return res.status(404).json(err.message);
|
||||
// TODO Catch edge cases
|
||||
entry.save(function(err, data) {
|
||||
// TODO Save/Update user
|
||||
/*
|
||||
_id: req.body.id,
|
||||
name: req.body.name,
|
||||
type: req.body.type,
|
||||
roles: req.body.roles,
|
||||
hash: req.body.hash,
|
||||
salt: req.body.salt,
|
||||
pwd: req.body.pwd,
|
||||
abos: req.body.abos,
|
||||
bookmarks: req.body.bookmarks,
|
||||
*/
|
||||
res.json(data);
|
||||
});
|
||||
});
|
||||
},
|
||||
},
|
||||
},
|
||||
/* Initialize requirements
|
||||
* - DB connection
|
||||
@@ -210,7 +290,7 @@ const dbs = {
|
||||
type: { type: String },
|
||||
roles: { type: [String], required: true,
|
||||
_comment: "" },
|
||||
tags: { type: [String],
|
||||
abos: { type: [String],
|
||||
_comment: "" },
|
||||
//deactivated: { type: Boolean },
|
||||
//host: { type: Boolean },
|
||||
|
||||
+6
-3
@@ -7,7 +7,7 @@ const ldap = require('ldapjs');
|
||||
const ldap_escape = require('ldap-escape');
|
||||
|
||||
|
||||
// TODO: Where do I get the URL from?? A: Is given.
|
||||
// NOTE: Where do I get the URL from?? A: Is given.
|
||||
var ldap_client = ldap.createClient({
|
||||
//url: 'ldap://gso2.ads1.fh-nuernberg.de/',
|
||||
url: 'ldap://sso.cs.ohm-hochschule.de:389/',
|
||||
@@ -16,7 +16,7 @@ var ldap_client = ldap.createClient({
|
||||
// timeouts don't work reliably
|
||||
});
|
||||
|
||||
// TODO: Where do I get the 'bindpath' parameters info from? A: Is given.
|
||||
// NOTE: Where do I get the 'bindpath' parameters info from? A: Is given.
|
||||
const ldap_config = {
|
||||
bindpath: 'cn=Users,dc=ohm-hochschule,dc=de',
|
||||
timeout: 2000
|
||||
@@ -89,14 +89,17 @@ const ldap_ohm = {
|
||||
console.log("ldap search error after bind for user " + user);
|
||||
return cb (null);
|
||||
}
|
||||
// ldap_test output
|
||||
// return_object = entry.object;
|
||||
return cb (return_object);
|
||||
});
|
||||
res.on('error', function(err) {
|
||||
console.log('ldap error: ' + err.message);
|
||||
});
|
||||
res.on('end', function(result) {
|
||||
// TODO: Did we forget something?
|
||||
// TODO: analyze result.status?
|
||||
// console.info('ldap result: ');
|
||||
// console.info(result);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
// Terminal call: node server/ldap_test.js - needs VPN or eduroam
|
||||
const inquirer = require('inquirer'),
|
||||
ldap = require('./ldap_ohm.js');
|
||||
|
||||
inquirer.prompt([
|
||||
{
|
||||
name: 'username',
|
||||
type: 'input',
|
||||
message: 'Enter your VirtuOhm username:',
|
||||
validate: function( value ) {
|
||||
if (value.length) {
|
||||
return true;
|
||||
} else {
|
||||
return 'Please enter your username.';
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'password',
|
||||
type: 'password',
|
||||
message: 'Enter your password:',
|
||||
validate: function(value) {
|
||||
if (value.length) {
|
||||
return true;
|
||||
} else {
|
||||
return 'Please enter your password.';
|
||||
}
|
||||
}
|
||||
}])
|
||||
.then(answers => {
|
||||
ldap.init(null);
|
||||
ldap.authorize(answers.username,answers.password,function(user) {
|
||||
console.log(JSON.stringify(user));
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user