<?php
/**
* WARNING:
*
* THIS FILE IS DEPRECATED AND WILL BE REMOVED IN FUTURE VERSIONS
*
* @deprecated
*/
/*
* This script is meant as an example of how simpleSAMLphp can be
* accessed from an existing application.
*
* As such, it does not use any of the simpleSAMLphp templates.
*/
/*
* We need access to the various simpleSAMLphp classes. These are loaded
* by the simpleSAMLphp autoloader.
*/
require_once('../../lib/_autoload.php');
SimpleSAML_Logger::warning('The file example-simple/verysimple.php is deprecated and will be removed in future versions.');
/*
* We use the default-sp authentication source.
*/
$as = new SimpleSAML_Auth_Simple('default-sp');
/* This handles logout requests. */
if (array_key_exists('logout', $_REQUEST)) {
/*
* We redirect to the current URL _without_ the query parameter. This
* avoids a redirect loop, since otherwise it will access the logout
* endpoint again.
*/
$as->logout(SimpleSAML_Utilities::selfURLNoQuery());
/* The previous function will never return. */
}
if (array_key_exists('login', $_REQUEST)) {
/*
* If the login parameter is requested, it means that we should log
* the user in. We do that by requiring the user to be authenticated.
*
* Note that the requireAuth-function will preserve all GET-parameters
* and POST-parameters by default.
*/
$as->requireAuth();
/* The previous function will only return if the user is authenticated. */
}
if (array_key_exists('message', $_POST)) {
/*
* We require authentication while posting a message. If the user is
* authenticated, the message will be shown.
*
* Since POST parameters are preserved during requireAuth-processing,
* the message will be presented to the user after the authentication.
*/
$as->requireAuth();
$message = $_POST['message'];
} else {
$message = NULL;
}
/*
* We set a variable depending on whether the user is authenticated or not.
* This allows us to show the user a login link or a logout link depending
* on the authentication state.
*/
$isAuth = $as->isAuthenticated();
/*
* Retrieve the users attributes. We will list them if the user
* is authenticated.
*/
$attributes = $as->getAttributes();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Simple test</title>
</head>
<body>
<h1>Simple auth test</h1>
<?php
/* Show a logout message if authenticated or a login message if not. */
if ($isAuth) {
echo '<p>You are currently authenticated. <a href="?logout">Log out</a>.</p>';
} else {
echo '<p>You are not authenticated. <a href="?login">Log in</a>.</p>';
}
?>
<p>The following form makes it possible to test requiering authentication
in a POST handler. Try to submit the message while unauthenticated.</p>
<form method="post" action="#">
<input type="text" name="message" id="msg" />
<input type="submit" value="Post message" />
</form>
<?php
/* Print out the message if it is present. */
if ($message !== NULL) {
echo '<h2>Message</h2>';
echo '<p>' . htmlspecialchars($message) . '</p>';
}
/* Print out the attributes if the user is authenticated. */
if ($isAuth) {
echo '<h2>Attributes</h2>';
echo '<dl>';
foreach ($attributes as $name => $values) {
echo '<dt>' . htmlspecialchars($name) . '</dt>';
echo '<dd><ul>';
foreach ($values as $value) {
echo '<li>' . htmlspecialchars($value) . '</li>';
}
echo '</ul></dd>';
}
echo '</dl>';
}
?>
</body>
</html>
|