Exemplo n.º 1
0
<?php

$config = SimpleSAML_Configuration::getInstance();
$mconfig = SimpleSAML_Configuration::getOptionalConfig('config-metarefresh.php');
SimpleSAML\Utils\Auth::requireAdmin();
SimpleSAML\Logger::setCaptureLog(TRUE);
$sets = $mconfig->getConfigList('sets', array());
foreach ($sets as $setkey => $set) {
    SimpleSAML\Logger::info('[metarefresh]: Executing set [' . $setkey . ']');
    try {
        $expireAfter = $set->getInteger('expireAfter', NULL);
        if ($expireAfter !== NULL) {
            $expire = time() + $expireAfter;
        } else {
            $expire = NULL;
        }
        $metaloader = new sspmod_metarefresh_MetaLoader($expire);
        # Get global black/whitelists
        $blacklist = $mconfig->getArray('blacklist', array());
        $whitelist = $mconfig->getArray('whitelist', array());
        // get global type filters
        $available_types = array('saml20-idp-remote', 'saml20-sp-remote', 'shib13-idp-remote', 'shib13-sp-remote', 'attributeauthority-remote');
        $set_types = $set->getArrayize('types', $available_types);
        foreach ($set->getArray('sources') as $source) {
            // filter metadata by type of entity
            if (isset($source['types'])) {
                $metaloader->setTypes($source['types']);
            } else {
                $metaloader->setTypes($set_types);
            }
            # Merge global and src specific blacklists