Skip to content

Commit

Permalink
Version 1 Basica (Siguiente con MongoDB y GET,POST,PUT,DELETE, OPTION)
Browse files Browse the repository at this point in the history
  • Loading branch information
JamsMendez committed Sep 24, 2014
1 parent d0fbefa commit 9ccd29a
Show file tree
Hide file tree
Showing 58 changed files with 403 additions and 145 deletions.
21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Simple API Rest con Autenticación a recursos

== Modo de Iniciarlo ==

node server.js

== Pruebas ==

node REST.js [parametros];

POST /login

node REST.js 1 User4 12345

GET /api/v1/admin/users

node REST.js 2 4 eyJ0eXAiOiJK...

GET /api/v1/admin/user/:id

node REST.js 3 2 4 eyJ0eXAiOiJK...
2 changes: 1 addition & 1 deletion config/secret.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module.exports = function () {
return 'xxxxxxxx';
return '03jfef94jFJJ';
}
21 changes: 13 additions & 8 deletions middlewares/validateRequest.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
var jwt = require('jwt-simple');
secretHash = require('../config/secret')
secretKey = require('../config/secret')
validateUser = require('../routes/auth').validateUser;

module.exports = function (req, res, next) {
Expand All @@ -11,23 +11,28 @@ module.exports = function (req, res, next) {
var key = (req.body && req.body.x_key) || (req.query && req.query.x_key) || req.headers['x-key'];

if(token || key){

try {
var decode = jwt.decode(token, secretHash);

var decode = jwt.decode(token, secretKey());

if(decode.exp <= Date.now){
res.status(400);
res.json({ status: 400, message: 'Token Expired' });
return;
}
// Valida la autorización para ver si el usuario tiene acceso a los recursos

// Valida la autorización para ver si el usuario tiene acceso a los recursos
var dbUser = validateUser(key);
if(dbUser){

var validateMod = req.url.indexOf('admin') >= 0 && dbUser.role == 'Administrador';
var validateGen = req.url.indexOf('admin') < 0 && req.url.indexOf('/api/v1/') >= 0;
var validateGen = req.url.indexOf('admin') < 0 && req.url.indexOf('/api/v1/') >= 0;

console.log(req.url.indexOf('admin'));
console.log(dbUser);
console.log(dbUser.role == 'Administrador');

if(validateMod || validateGen){
next(); // Pasa al siguiente middleware
}else{
Expand Down
36 changes: 36 additions & 0 deletions models/users.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
module.exports = function () {
var users = [
{
id: 0,
username: 'User0',
password: '12345',
role: 'user'
},
{
id: 1,
username: 'User1',
password: '12345',
role: 'user'
},
{
id: 2,
username: 'User2',
password: '12345',
role: 'user'
},
{
id: 3,
username: 'User3',
password: '12345',
role: 'user'
},
{
id: 4,
username: 'User4',
password: '12345',
role: 'Administrador'
}
];

return users;
}
12 changes: 12 additions & 0 deletions node_modules/body-parser/HISTORY.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 10 additions & 2 deletions node_modules/body-parser/lib/read.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 4 additions & 3 deletions node_modules/body-parser/lib/types/json.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 4 additions & 3 deletions node_modules/body-parser/lib/types/urlencoded.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion node_modules/body-parser/node_modules/bytes/package.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions node_modules/body-parser/node_modules/depd/History.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 9 additions & 4 deletions node_modules/body-parser/node_modules/depd/Readme.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 9 additions & 8 deletions node_modules/body-parser/node_modules/depd/package.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion node_modules/body-parser/node_modules/qs/package.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion node_modules/body-parser/node_modules/raw-body/package.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion node_modules/body-parser/node_modules/type-is/package.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 9ccd29a

Please sign in to comment.