LogoutController.php
1.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
/**
* Logout controller class.
*
* @version 1.2.0
* @since 1.2.0
*/
namespace Cassava\CAS\Controller;
use Cassava\CAS;
/**
* Implements CAS logout.
*
* `/logout` destroys a client's single sign-on CAS session.
*
* When called, this method will destroy the ticket-granting cookie and prevent subsequent
* requests to `/login` from returning service tickets until the user re-authenticates using
* their primary credentials.
*
* The following HTTP request parameter may be specified:
*
* - `url` (optional): If specified, the server will redirect the user to the page located at
* `url`, which should contain a description telling the user they've been logged out.
*
* @since 1.2.0
*/
class LogoutController extends BaseController {
/**
* Handles logout requests.
*
* @param array $request CAS request arguments.
*
* @uses \home_url()
*/
public function handleRequest( $request ) {
$service = ! empty( $request['service'] ) ? $request['service'] : \home_url();
$this->server->sessionStart();
$this->server->sessionDestroy();
$this->server->redirect( $service );
}
}