| 
<?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>
 |