refactor scopes into accesscontrol.js

this will be our authorization layer for oauth and non-oauth tokens.
This commit is contained in:
Girish Ramakrishnan
2018-04-26 15:54:53 -07:00
parent 6e3b060615
commit 3b7bcc1f61
12 changed files with 298 additions and 262 deletions
+3 -4
View File
@@ -12,13 +12,12 @@ exports = module.exports = {
setGroups: setGroups
};
var assert = require('assert'),
clients = require('../clients.js'),
var accesscontrol = require('../accesscontrol.js'),
assert = require('assert'),
constants = require('../constants.js'),
generatePassword = require('../password.js').generate,
HttpError = require('connect-lastmile').HttpError,
HttpSuccess = require('connect-lastmile').HttpSuccess,
oauth2 = require('./oauth2.js'),
users = require('../users.js'),
UserssError = users.UserssError;
@@ -131,7 +130,7 @@ function verifyPassword(req, res, next) {
assert.strictEqual(typeof req.body, 'object');
// using an 'sdk' token we skip password checks
var error = oauth2.validateRequestedScopes(req, [ clients.SCOPE_ROLE_SDK ]);
var error = accesscontrol.validateRequestedScopes(req.authInfo || null, [ accesscontrol.SCOPE_ROLE_SDK ]);
if (!error) return next();
if (typeof req.body.password !== 'string') return next(new HttpError(400, 'API call requires user password'));