<?php 
 
 
 
$config = SimpleSAML_Configuration::getInstance(); 
 
if (!array_key_exists('as', $_REQUEST)) { 
    $t = new SimpleSAML_XHTML_Template($config, 'core:authsource_list.tpl.php'); 
 
    $t->data['sources'] = SimpleSAML_Auth_Source::getSources(); 
    $t->show(); 
    exit(); 
} 
 
 
$asId = (string)$_REQUEST['as']; 
$as = new SimpleSAML_Auth_Simple($asId); 
 
if(array_key_exists('logout', $_REQUEST)) { 
    $as->logout('/' . $config->getBaseURL() . 'logout.php'); 
} 
 
if (array_key_exists(SimpleSAML_Auth_State::EXCEPTION_PARAM, $_REQUEST)) { 
    /* This is just a simple example of an error. */ 
 
    $state = SimpleSAML_Auth_State::loadExceptionState(); 
    assert('array_key_exists(SimpleSAML_Auth_State::EXCEPTION_DATA, $state)'); 
    $e = $state[SimpleSAML_Auth_State::EXCEPTION_DATA]; 
 
    header('Content-Type: text/plain'); 
    echo "Exception during login:\n"; 
    foreach ($e->format() as $line) { 
        echo $line . "\n"; 
    } 
    exit(0); 
} 
 
 
if (!$as->isAuthenticated()) { 
    $url = SimpleSAML_Module::getModuleURL('core/authenticate.php', array('as' => $asId)); 
    $params = array( 
        'ErrorURL' => $url, 
        'ReturnTo' => $url, 
    ); 
    $as->login($params); 
} 
 
$attributes = $as->getAttributes(); 
 
$t = new SimpleSAML_XHTML_Template($config, 'status.php', 'attributes'); 
 
$t->data['header'] = '{status:header_saml20_sp}'; 
$t->data['attributes'] = $attributes; 
$t->data['logouturl'] = SimpleSAML_Utilities::selfURLNoQuery() . '?as=' . urlencode($asId) . '&logout'; 
$t->show(); 
 
 
 |