diff options
Diffstat (limited to 'modules/exampleauth')
-rw-r--r-- | modules/exampleauth/lib/Auth/Process/RedirectTest.php | 30 | ||||
-rw-r--r-- | modules/exampleauth/www/redirecttest.php | 22 |
2 files changed, 52 insertions, 0 deletions
diff --git a/modules/exampleauth/lib/Auth/Process/RedirectTest.php b/modules/exampleauth/lib/Auth/Process/RedirectTest.php new file mode 100644 index 0000000..02a4220 --- /dev/null +++ b/modules/exampleauth/lib/Auth/Process/RedirectTest.php @@ -0,0 +1,30 @@ +<?php + +/** + * A simple processing filter for testing that redirection works as it should. + * + */ +class sspmod_exampleauth_Auth_Process_RedirectTest extends SimpleSAML_Auth_ProcessingFilter { + + + /** + * Initialize processing of the redirect test. + * + * @param array &$state The state we should update. + */ + public function process(&$state) { + assert('is_array($state)'); + assert('array_key_exists("Attributes", $state)'); + + /* To check whether the state is saved correctly. */ + $state['Attributes']['RedirectTest1'] = array('OK'); + + /* Save state and redirect. */ + $id = SimpleSAML_Auth_State::saveState($state, 'exampleauth:redirectfilter-test'); + $url = SimpleSAML_Module::getModuleURL('exampleauth/redirecttest.php'); + SimpleSAML_Utilities::redirect($url, array('StateId' => $id)); + } + +} + +?>
\ No newline at end of file diff --git a/modules/exampleauth/www/redirecttest.php b/modules/exampleauth/www/redirecttest.php new file mode 100644 index 0000000..39a1b54 --- /dev/null +++ b/modules/exampleauth/www/redirecttest.php @@ -0,0 +1,22 @@ +<?php + +/** + * Request handler for redirect filter test. + * + * @author Olav Morken, UNINETT AS. + * @package simpleSAMLphp + * @version $Id$ + */ + +if (!array_key_exists('StateId', $_REQUEST)) { + throw new SimpleSAML_Error_BadRequest('Missing required StateId query parameter.'); +} + +$id = $_REQUEST['StateId']; +$state = SimpleSAML_Auth_State::loadState($id, 'exampleauth:redirectfilter-test'); + +$state['Attributes']['RedirectTest2'] = array('OK'); + +SimpleSAML_Auth_ProcessingChain::resumeProcessing($state); + +?>
\ No newline at end of file |