diff --git a/dictionaries/status.definition.json b/dictionaries/status.definition.json index 57030aaab4db1ee8fb8ce483d492548e2b83ed39..d81f6e524affce052468049425902e8e727f4edb 100644 --- a/dictionaries/status.definition.json +++ b/dictionaries/status.definition.json @@ -37,5 +37,11 @@ }, "logout": { "en": "Logout" - } + }, + "authData_header": { + "en": "AuthData" + }, + "authData_summary": { + "en": "Click to view AuthData" + } } diff --git a/modules/core/www/authenticate.php b/modules/core/www/authenticate.php index 8e04e4a6cfa45f14af92bcbad1e984a7361ad548..bfb717c8023793aa2189508db66923e858da0775 100644 --- a/modules/core/www/authenticate.php +++ b/modules/core/www/authenticate.php @@ -37,11 +37,13 @@ if (!$as->isAuthenticated()) { } $attributes = $as->getAttributes(); +$authData = $as->getAuthDataArray(); $t = new SimpleSAML_XHTML_Template($config, 'status.php', 'attributes'); $t->data['header'] = '{status:header_saml20_sp}'; $t->data['attributes'] = $attributes; +$t->data['authData'] = $authData; $t->data['nameid'] = !is_null($as->getAuthData('saml:sp:NameID')) ? $as->getAuthData('saml:sp:NameID') : false; $t->data['logouturl'] = \SimpleSAML\Utils\HTTP::getSelfURLNoQuery().'?as='.urlencode($asId).'&logout'; $t->show(); diff --git a/templates/status.php b/templates/status.php index 798b546acc9bac0ce198e7e412b643675636e36a..95333f9a29276c5849be625508a835a95d01e92f 100644 --- a/templates/status.php +++ b/templates/status.php @@ -60,6 +60,13 @@ if ($nameid !== false) { echo(present_attributes($this, $list, '')); } +$authData = $this->data['authData']; +if (isset($authData)) { + echo "<h2>".$this->t('{status:authData_header}')."</h2>"; + echo '<details><summary>' . $this->t('{status:authData_summary}') . '</summary>'; + echo('<pre>' . htmlspecialchars(json_encode($this->data['authData'], JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)) . '</pre>'); + echo '</details>'; +} if (isset($this->data['logout'])) { echo('<h2>'.$this->t('{status:logout}').'</h2>'); echo('<p>'.$this->data['logout'].'</p>');