<?php
/**
* WARNING:
*
* THIS FILE IS DEPRECATED AND WILL BE REMOVED IN FUTURE VERSIONS
*
* @deprecated
*/
/**
* The _include script registers a autoloader for the simpleSAMLphp libraries. It also
* initializes the simpleSAMLphp config class with the correct path.
*/
require_once('../_include.php');
/*
* Explisit instruct consent page to send no-cache header to browsers
* to make sure user attribute information is not store on client disk.
*
* In an vanilla apache-php installation is the php variables set to:
* session.cache_limiter = nocache
* so this is just to make sure.
*/
session_cache_limiter('nocache');
/* Load simpleSAMLphp, configuration and metadata */
$config = SimpleSAML_Configuration::getInstance();
$session = SimpleSAML_Session::getSessionFromRequest();
SimpleSAML_Logger::warning('The file example-simple/saml2-example.php is deprecated and will be removed in future versions.');
/**
* Check if valid local session exists, and the authority is the SAML 2.0 SP
* part of simpleSAMLphp. If the currenct session is not valid, the user is
* redirected to the initSSO.php script. This script will send the user to
* a SAML 2.0 IdP with an authentication request, and thereafter the user
* will be asked at the SAML 2.0 IdP to authenticate. You add one important
* parameter when you send the user to the initSSO script, the RelayState.
* The RelayState URL is the URL that you want to send the user to after
* authentication is complete - and usually you want to send the user back
* to this very page. To get the URL of the current page we use the selfURL()
* helper function.
*
* When the user is complete authenticating at the IdP, the user will be sent
* back to the AssertionConsumerService.php script in simpleSAMLphp. The assertion
* is validated, and if trusted, the user's session is set to be valid, and the user
* is redirected back to the RelayState URL. And then the user is here again, but
* authenticated, and therefore passes the if sentence below, and moves on to
* retrieving attributes from the session.
*/
if (!$session->isValid('saml2') ) {
SimpleSAML_Utilities::redirectTrustedURL(
'/' . $config->getBaseURL() . 'saml2/sp/initSSO.php',
array('RelayState' => SimpleSAML_Utilities::selfURL())
);
}
/* Prepare attributes for presentation
* and call a hook function for organizing the attribute array
*/
$attributes = $session->getAuthData('saml2', 'Attributes');
$para = array(
'attributes' => &$attributes
);
SimpleSAML_Module::callHooks('attributepresentation', $para);
/*
* The attributes variable now contains all the attributes. So this variable is basicly all you need to perform integration in
* your PHP application.
*
* To debug the content of the attributes variable, do something like:
*
* print_r($attributes);
*
*/
$t = new SimpleSAML_XHTML_Template($config, 'status.php', 'attributes');
$t->data['header'] = '{status:header_saml20_sp}';
$t->data['remaining'] = $session->getAuthData('saml2', 'Expire') - time();
$t->data['sessionsize'] = $session->getSize();
$t->data['attributes'] = $attributes;
$t->data['logouturl'] = '/' . $config->getBaseURL() . 'saml2/sp/initSLO.php?RelayState=/' .
$config->getBaseURL() . 'logout.php';
$t->show();
?>
|