Example #1
0
 it('verify get single config value', function(callback) {
     var AuthenticationConfig = ConfigAPI.config('oae-authentication');
     var PrincipalsConfig = ConfigAPI.config('oae-principals');
     // Retrieve a non-existing value
     assert.equal(AuthenticationConfig.getValue(global.oaeTests.tenants.cam.alias, 'sso', 'enabled'), null);
     // Retrieve a boolean value
     assert.equal(AuthenticationConfig.getValue(global.oaeTests.tenants.cam.alias, 'twitter', 'enabled'), true);
     // Retrieve a string value
     assert.equal(PrincipalsConfig.getValue(global.oaeTests.tenants.cam.alias, 'user', 'defaultLanguage'), 'en_GB');
     // Retrieve a suppressed value
     assert.equal(PrincipalsConfig.getValue(global.oaeTests.tenants.cam.alias, 'recaptcha', 'privateKey'), '6LcFWdYSAAAAANrHjt2Y5VJXoICHa95PFDarVcGs');
     callback();
 });
Example #2
0
 it('verify validation', function(callback) {
     // Verify that initializing a config factory needs a module name. This should throw an error
     assert.throws(function() {
         ConfigAPI.config();
     });
     // Verify that a feature needs to be provided when getting a config value
     var AuthenticationConfig = ConfigAPI.config('oae-authentication');
     assert.equal(AuthenticationConfig.getValue(global.oaeTests.tenants.cam.alias), null);
     // Verify that an element needs to be provided when getting a config value
     assert.equal(AuthenticationConfig.getValue(global.oaeTests.tenants.cam.alias, 'twitter'), null);
     callback();
 });
Example #3
0
File: api.js Project: Julka7/Hilary
var Validator = require('validator').Validator;

var Cassandra = require('oae-util/lib/cassandra');
var ConfigAPI = require('oae-config');
var Context = require('oae-context').Context;
var OaeServer = require('oae-util/lib/server');
var PrincipalsAPI = require('oae-principals');
var Redis = require('oae-util/lib/redis');
var Signature = require('oae-util/lib/signature');
var TenantsAPI = require('oae-tenants');
var TenantsUtil = require('oae-tenants/lib/util');
var TZ = require('oae-util/lib/tz');
var User = require('oae-principals/lib/model').User;
var log = require('oae-logger').logger('oae-authentication');

var AuthenticationConfig = ConfigAPI.config('oae-authentication');
var AuthenticationConstants = require('oae-authentication/lib/constants').AuthenticationConstants;
var AuthenticationUtil = require('oae-authentication/lib/util');
var CasStrategy = require('oae-authentication/lib/strategies/cas');
var LoginId = require('oae-authentication/lib/model').LoginId;
var SignedStrategy = require('oae-authentication/lib/strategies/signed');
var Token = require('oae-authentication/lib/model').Token;

var globalTenantAlias;

// The path to the java JAR that can be used to decrypt SAML messages.
var _SAMLParserJarPath;

// Holds the strategies for each tenant.
var strategies = {};
Example #4
0
 */

var _ = require('underscore');
var request = require('request');

var ActivityAPI = require('oae-activity');
var ActivityConstants = require('oae-activity/lib/constants').ActivityConstants;
var AuthzUtil = require('oae-authz/lib/util');
var ConfigAPI = require('oae-config');
var log = require('oae-logger').logger('oae-doc');
var TenantsAPI = require('oae-tenants');
var TenantsUtil = require('oae-tenants/lib/util');

var TinCanAPIConstants = require('./constants').TinCanAPIConstants;
var TinCanModel = require('./model');
var TinCanConfig = ConfigAPI.config('oae-tincanapi');

var config = null;

/**
 * Initializes the TinCan API integration. 
 * This will listen for OAE activities and will convert these into TinCan statements that can be posted to a Learning Record Store.
 *
 * @param  {Object}    config       Configuration for the TinCan API module
 * @param  {Function}  callback     Standard callback function
 */
var initializeTinCanAPI = module.exports.initializeTinCanAPI = function(_config, callback) {

    // Store the configuration values
    config = _config;
Example #5
0
 assert.throws(function() {
     ConfigAPI.config();
 });
Example #6
0
 * or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */

var _ = require('underscore');
var querystring = require('querystring');
var request = require('request');
var url = require('url');
var util = require('util');
var xml2js = require('xml2js');

var ConfigAPI = require('oae-config');
var log = require('oae-logger').logger('oae-orcid');
var Validator = require('oae-authz/lib/validator').Validator;

var OrcidConfig = ConfigAPI.config('oae-orcid');
var OrcidDAO = require('./internal/dao');
var OrcidRecord = require('./model');

// Object that stores the ORCID access tokens
var tokens = {};

/**
 * ORCID (Open Researcher and Contributor ID) is a nonproprietary alphanumeric code to uniquely identify scientific and other academic authors.
 * It would provide for humans a persistent identity, similar to that created for content-related entities on digital networks by digital object identifiers (DOIs).
 * @see http://orcid.org
 *
 * Public API: http://pub.orcid.org/
 * Public Sandbox API: http://pub.sandbox-1.orcid.org/
 *
 * Member API: https://api.orcid.org/
Example #7
0
var path = require('path');
var PropertiesParser = require('properties-parser');
var readdirp = require('readdirp');
var url = require('url');
var util = require('util');
var watch = require('watch');

var ConfigAPI = require('oae-config');
var Sanitization = require('oae-util/lib/sanitization');
var Validator = require('oae-util/lib/validator').Validator;
var log = require('oae-logger').logger('oae-ui');

var UIConstants = require('./constants').UIConstants;

// The Config object for the UI module.
var uiConfig = ConfigAPI.config('oae-ui');

// The cached skin variables
var cachedSkinVariables = null;
// The cached skins per tenant.
var cachedSkins = {};

// Path to the 3akai-ux repository
var uiDirectory = null;

// A mapping object that maps pre-optimized paths to post-optimized paths in the UI
var hashes = null;

// A dictionary that will hold the content for each file. This will be lazy filled. The first
// time a particular file is requested, it will be cached. After that, the cached version will
// be used
Example #8
0
var util = require('util');

var AuthenticationConstants = require('oae-authentication/lib/constants').AuthenticationConstants;
var AuthzConstants = require('oae-authz/lib/constants').AuthzConstants;
var AuthzUtil = require('oae-authz/lib/util');
var Cassandra = require('oae-util/lib/cassandra');
var ConfigAPI = require('oae-config');
var Context = require('oae-context').Context;
var log = require('oae-logger').logger('oae-principals');
var Redis = require('oae-util/lib/redis');
var Validator = require('oae-util/lib/validator').Validator;
var TenantsAPI = require('oae-tenants');
var TZ = require('oae-util/lib/tz');
var Validator = require('oae-util/lib/validator').Validator;

var PrincipalsConfig = ConfigAPI.config('oae-principals');
var PrincipalsConstants = require('./constants').PrincipalsConstants;
var PrincipalsDAO = require('./internal/dao');
var PrincipalsEmitter = require('./internal/emitter');
var PrincipalsModel = require('./model');
var PrincipalsTermsAndConditionsAPI = require('./api.termsAndConditions');
var PrincipalsUtil = require('./util');

var fullUserProfileDecorators = {};

/**
 * Register a decorator for the full user profile. A decorator will, at read time, provide additional data about the user
 * that will be returned to the client
 *
 * @param  {String}     namespace                   The unique namespace for this decorator. This will be used as the actual property name on the full user profile object. If this namespace collides with an existing user profile property, it will be silently ignored
 * @param  {Function}   decorator                   The function that will provide additional data for the user profile
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an "AS IS"
 * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */

var _ = require('underscore');
var crypto = require('crypto');
var req = require('request');

var ConfigAPI = require('oae-config');

var LibrarySearchModel = require('./model');
var LibrarySearchConfig = ConfigAPI.config('oae-librarysearch');

/**
 * Perform a search using the Summon API
 *
 * @param  {String}          tenantAlias             The tenantAlias
 * @param  {String}         query                   The query that will be passed to the Summon API
 * @param  {Function}       callback                Invoked when the process completes
 * @param  {Object}         callback.err            An error that occurred, if any
 * @param  {Object}         callback.results        The search result object
 */
var getSummonResults = module.exports.getSummonResults = function(tenantAlias, query, callback) {

    // Create the header object that will be sent to the Summon API
    var header = {
        'Accept': 'application/json',