aboutsummaryrefslogtreecommitdiff
path: root/app/layout
diff options
context:
space:
mode:
Diffstat (limited to 'app/layout')
-rw-r--r--app/layout/aside_configure.phtml15
1 files changed, 14 insertions, 1 deletions
diff --git a/app/layout/aside_configure.phtml b/app/layout/aside_configure.phtml
index e179ef121..87fd27c59 100644
--- a/app/layout/aside_configure.phtml
+++ b/app/layout/aside_configure.phtml
@@ -1,3 +1,16 @@
+<?php
+function get_logout_url(): string {
+ if (($_SERVER['AUTH_TYPE'] ?? '') === 'openid-connect') {
+ $url_string = urlencode(Minz_Request::guessBaseUrl());
+ return './oidc/?logout=' . $url_string . '/';
+ # The trailing slash is necessary so that we don’t redirect to http://.
+ # https://bz.apache.org/bugzilla/show_bug.cgi?id=61355#c13
+ } else {
+ return _url('auth', 'logout') ?: '';
+ }
+}
+?>
+
<nav class="nav nav-list aside" id="aside_feed">
<a class="toggle_aside" href="#close"><?= _i('close') ?></a>
@@ -9,7 +22,7 @@
<a href="<?= _url('user', 'profile') ?>"><?= _t('gen.menu.user_profile') ?></a>
</li>
<li class="item">
- <a class="signout" href="<?= _url('auth', 'logout') ?>">
+ <a class="signout" href="<?= get_logout_url() ?>">
<?php
echo _t('gen.auth.logout'); ?> <?= _i('logout') ?></a>
</li>