diff options
Diffstat (limited to 'app/layout')
| -rw-r--r-- | app/layout/aside_configure.phtml | 15 |
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> |
