Set the scope for a token basedon what the user has access to

This commit is contained in:
Girish Ramakrishnan
2018-04-30 21:21:18 -07:00
parent 1432d90f37
commit 9789966017
3 changed files with 18 additions and 4 deletions

View File

@@ -17,11 +17,13 @@ exports = module.exports = {
SCOPE_ROLE_SDK: 'roleSdk',
validateScope: validateScope,
validateRequestedScopes: validateRequestedScopes
validateRequestedScopes: validateRequestedScopes,
normalizeScope: normalizeScope
};
var assert = require('assert'),
debug = require('debug')('box:accesscontrol');
debug = require('debug')('box:accesscontrol'),
_ = require('underscore');
function validateScope(scope) {
assert.strictEqual(typeof scope, 'string');
@@ -73,3 +75,12 @@ function validateRequestedScopes(authInfo, requestedScopes) {
return null;
}
function normalizeScope(maxScope, allowedScope) {
assert.strictEqual(typeof maxScope, 'string');
assert.strictEqual(typeof allowedScope, 'string');
if (maxScope === '*') return allowedScope;
return _.intersection(maxScope.split(','), allowedScope.split(',')).join(',');
}