config = $config; } public function logout(AuthToken $authToken, Params $params): Result { if ($authToken->getPortalId()) { return Result::create(); } /** @var ?string $url */ $url = $this->config->get('oidcLogoutUrl'); /** @var string $oidcClientId */ $oidcClientId = $this->config->get('oidcClientId') ?? ''; $siteUrl = rtrim($this->config->get('siteUrl') ?? '', '/'); if ($url) { $url = str_replace('{clientId}', urlencode($oidcClientId), $url); $url = str_replace('{siteUrl}', urlencode($siteUrl), $url); } // @todo Check session is set if auth token to bypass fallback logins. return Result::create()->withRedirectUrl($url); } }