summaryrefslogtreecommitdiffstats
path: root/modules/suitelogin.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules/suitelogin.inc.php')
-rw-r--r--modules/suitelogin.inc.php31
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');
+ }
+ }
+
+}