Skip to content

Commit 6e0519f

Browse files
authored
Migrate old www-script to controller (#1764)
* Migrate old www-script to controller * Add unit test
1 parent 331663f commit 6e0519f

File tree

5 files changed

+35
-34
lines changed

5 files changed

+35
-34
lines changed

modules/admin/routing/routes/routes.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ admin-sandbox:
1313
admin-test:
1414
path: /test/{as}
1515
defaults: { _controller: 'SimpleSAML\Module\admin\Controller\Test::main', as: null }
16+
core-logout:
17+
path: /logout
18+
defaults: { _controller: 'SimpleSAML\Module\admin\Controller\Test::logout' }
1619
admin-fed:
1720
path: /federation
1821
defaults: { _controller: 'SimpleSAML\Module\admin\Controller\Federation::main' }

modules/admin/src/Controller/Test.php

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ public function main(Request $request, string $as = null): Response
122122
$authsource = new $this->authSimple($as);
123123

124124
if (!is_null($request->query->get('logout'))) {
125-
return new RunnableResponse([$authsource, 'logout'], [$this->config->getBasePath() . 'logout.php']);
125+
return new RunnableResponse([$authsource, 'logout'], [Module::getModuleURL('admin/logout')]);
126126
} elseif (!is_null($request->query->get(Auth\State::EXCEPTION_PARAM))) {
127127
// This is just a simple example of an error
128128
/** @var array $state */
@@ -160,4 +160,16 @@ public function main(Request $request, string $as = null): Response
160160
$this->menu->addOption('logout', $this->authUtils->getAdminLogoutURL(), Translate::noop('Log out'));
161161
return $this->menu->insert($t);
162162
}
163+
164+
165+
/**
166+
* Page to show after logout completed
167+
*
168+
* @param \Symfony\Component\HttpFoundation\Request $request
169+
* @return \SimpleSAML\XHTML\Template
170+
*/
171+
public function logout(Request $request): Template
172+
{
173+
return new Template($this->config, 'admin:logout.twig');
174+
}
163175
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@
77
<h3>{% trans %}You have been logged out.{% endtrans %}</h3>
88
<br>
99
{% if text %}
10-
<p><a href="{{ link }}">{{ text|trans }}</a></p>
10+
<p><a href="index.php">{{ 'Go back to SimpleSAMLphp installation page'|trans }}</a></p>
1111
{% endif %}
12-
{% endblock %}
12+
{% endblock %}

public/logout.php

Lines changed: 0 additions & 31 deletions
This file was deleted.

tests/modules/admin/src/Controller/TestTest.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,23 @@ public function logout($params = null): void
119119
}
120120

121121

122+
/**
123+
*/
124+
public function testLogoutReturnsTemplate(): void
125+
{
126+
$request = Request::create(
127+
'/logout',
128+
'GET'
129+
);
130+
131+
$c = new TestController($this->config, $this->session);
132+
$response = $c->logout($request);
133+
134+
$this->assertInstanceOf(Template::class, $response);
135+
$this->assertTrue($response->isSuccessful());
136+
}
137+
138+
122139
/**
123140
*/
124141
public function testMainWithAuthSourceAndException(): void

0 commit comments

Comments
 (0)