forked from FenixEdu/fenixedu-php-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSessionTokenHolder.php
54 lines (43 loc) · 1.47 KB
/
SessionTokenHolder.php
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
45
46
47
48
49
50
51
52
53
54
<?php
require_once("core/TokenHolder.php");
/* This TokenHolder uses the PHP $_SESSION to store each user's tokens.
*/
class SessionTokenHolder extends TokenHolder {
public function __construct() {
if(session_status() !== PHP_SESSION_ACTIVE) session_start();
}
public function hasAccessToken() {
return isset($_SESSION['fenix_access_token']);
}
public function getAccessToken() {
return $_SESSION['fenix_access_token'];
}
public function setAccessToken($token) {
$_SESSION['fenix_access_token'] = $token;
}
public function getRefreshToken() {
return $_SESSION['fenix_refresh_token'];
}
public function setRefreshToken($token) {
$_SESSION['fenix_refresh_token'] = $token;
}
public function getTokenExpiry() {
return $_SESSION['fenix_expires'];
}
public function setTokenExpiry($expiry) {
return $_SESSION['fenix_expires'] = $expiry;
}
public function getState() {
return isset($_SESSION['fenix_state']) ? $_SESSION['fenix_state'] : NULL;
}
public function setState($state) {
if($state !== NULL) $_SESSION['fenix_state'] = $state;
else unset($_SESSION['fenix_state']);
}
public function drop() {
unset($_SESSION['fenix_access_token']);
unset($_SESSION['fenix_refresh_token']);
unset($_SESSION['fenix_expires']);
unset($_SESSION['fenix_state']);
}
}