diff options
Diffstat (limited to 'modules/suitelogin.inc.php')
-rw-r--r-- | modules/suitelogin.inc.php | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/modules/suitelogin.inc.php b/modules/suitelogin.inc.php new file mode 100644 index 0000000..df3b8f0 --- /dev/null +++ b/modules/suitelogin.inc.php @@ -0,0 +1,31 @@ +<?php + +class Page_SuiteLogin extends Page +{ + + protected function doPreprocess() + { + if (empty($_SERVER['persistent-id'])) + Util::redirect(CONFIG_PREFIX . 'shib/?do=SuiteLogin'); + + if (!Request::any('msg')) { + $at = Request::any('accessToken'); + if ($at === false || strlen($at) < 20) { + Message::addError('Missing access token'); + } else { + $response = ShibAuth::login($at); + + if ($response['status'] === 'ok') { + Message::addSuccess("Login erfolgreich, Sie können dieses Fenster jetzt schließen"); + } else { + Message::addError("Login fehlgeschlagen: {{0}}", $response['error']); + if ($response['status'] === 'unregistered') { + Util::redirect('?do=Register'); + } + } + } + Util::redirect('?do=SuiteLogin&msg=1'); + } + } + +} |