Skip to content

Commit 116caeb

Browse files
author
Peter Petruš
committed
PassportToken as object.
1 parent 60b67a5 commit 116caeb

File tree

2 files changed

+63
-0
lines changed

2 files changed

+63
-0
lines changed

README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,13 @@ use PeterPetrus\PassportToken\PassportToken;
2323
$decoded_token = PassportToken::dirtyDecode(
2424
'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjI2YTUyMTMxNDAzOGQ0NGY3OTVkMzYwZGQ0ZDlkNDBlYTQyNGU4N2ZlMjUyMmVhMTk5ZjU2ZWVmODg0ZTFhNWNmNjg2Nzk3NmQ2MDRmOWY5In0.eyJhdWQiOiIyIiwianRpIjoiMjZhNTIxMzE0MDM4ZDQ0Zjc5NWQzNjBkZDRkOWQ0MGVhNDI0ZTg3ZmUyNTIyZWExOTlmNTZlZWY4ODRlMWE1Y2Y2ODY3OTc2ZDYwNGY5ZjkiLCJpYXQiOjE1MTI3NDc1OTIsIm5iZiI6MTUxMjc0NzU5MiwiZXhwIjoxNTE4MTA0MzkyLCJzdWIiOiIxIiwic2NvcGVzIjpbXX0.toksHokX_RZ7eRToL_owakMJ3gbi0nppD5yrhA9C5McVSnn3WraA4NwBcwQVlkv316BTUOaJ14unBNEg1UKGuK4EhoiTBMdT1cSkgH1HKZg2SXNBrCPi9YY4g4-4qpfxQqLeBM5JsVbouD6VeeBmDJUGVcoXDXimKEft4lgkIIqPCmWOV9HscKkRQ23lyVhXaQo4TMoCUZfM2ppyqdl2wTsrXp7woQMbqwVo9bnc4d6opj55XvMgal5MmY8YXDHpJO29UWkn2mTIL3kB6KP_WDHg5LJU0r1ua1lTn8Om97Z4eMFFUlipq7yODSgtML92kiZef7JAX3DecxJbzB9tcDk22NtSoBzlHy86ZJHU9rKhcIuKbpys6X2dAHAlkS7GUCWHqZcwN38LfjoyUEiP7QHkLNogSZQZE_I7FPKLYpxyOiR83K4IZGlOEeiEJZGCVqUWviyyIfWRA3gusk6p5cB4begxOne_l0vnNRH2WiB-WOKBytL1fKeXwaJj8AIFGj03Wvb0OYqp01ef05kiX9Y-PbHYYi_x5L8fcywXqo3ubKKiChqTCXirLH9ENcTwQT0C32Z2EgLlNnyF5iH9XQuW5UN36ke63ad0iIjlEhinoOOF8OK8IDKiHGIQ0qJwZxFG3EVDX3UFQpZUaAgYlNTTXhyT-fvf1dNR8msy-h0'
2525
);
26+
27+
// or object
28+
29+
$token = new PassportToken(
30+
'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjI2YTUyMTMxNDAzOGQ0NGY3OTVkMzYwZGQ0ZDlkNDBlYTQyNGU4N2ZlMjUyMmVhMTk5ZjU2ZWVmODg0ZTFhNWNmNjg2Nzk3NmQ2MDRmOWY5In0.eyJhdWQiOiIyIiwianRpIjoiMjZhNTIxMzE0MDM4ZDQ0Zjc5NWQzNjBkZDRkOWQ0MGVhNDI0ZTg3ZmUyNTIyZWExOTlmNTZlZWY4ODRlMWE1Y2Y2ODY3OTc2ZDYwNGY5ZjkiLCJpYXQiOjE1MTI3NDc1OTIsIm5iZiI6MTUxMjc0NzU5MiwiZXhwIjoxNTE4MTA0MzkyLCJzdWIiOiIxIiwic2NvcGVzIjpbXX0.toksHokX_RZ7eRToL_owakMJ3gbi0nppD5yrhA9C5McVSnn3WraA4NwBcwQVlkv316BTUOaJ14unBNEg1UKGuK4EhoiTBMdT1cSkgH1HKZg2SXNBrCPi9YY4g4-4qpfxQqLeBM5JsVbouD6VeeBmDJUGVcoXDXimKEft4lgkIIqPCmWOV9HscKkRQ23lyVhXaQo4TMoCUZfM2ppyqdl2wTsrXp7woQMbqwVo9bnc4d6opj55XvMgal5MmY8YXDHpJO29UWkn2mTIL3kB6KP_WDHg5LJU0r1ua1lTn8Om97Z4eMFFUlipq7yODSgtML92kiZef7JAX3DecxJbzB9tcDk22NtSoBzlHy86ZJHU9rKhcIuKbpys6X2dAHAlkS7GUCWHqZcwN38LfjoyUEiP7QHkLNogSZQZE_I7FPKLYpxyOiR83K4IZGlOEeiEJZGCVqUWviyyIfWRA3gusk6p5cB4begxOne_l0vnNRH2WiB-WOKBytL1fKeXwaJj8AIFGj03Wvb0OYqp01ef05kiX9Y-PbHYYi_x5L8fcywXqo3ubKKiChqTCXirLH9ENcTwQT0C32Z2EgLlNnyF5iH9XQuW5UN36ke63ad0iIjlEhinoOOF8OK8IDKiHGIQ0qJwZxFG3EVDX3UFQpZUaAgYlNTTXhyT-fvf1dNR8msy-h0'
31+
);
32+
2633
```
2734

2835
### Returned array $decoded_token
@@ -45,3 +52,13 @@ $decoded_token = PassportToken::dirtyDecode(
4552
"valid" => true
4653
]
4754
```
55+
56+
### Returned object $token
57+
58+
Object has same properties as returned array fields.
59+
60+
```php
61+
if ($token->valid) {
62+
// Check $token->token_id and $token->user_id in Database for Authorization
63+
}
64+
```

src/PassportToken.php

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,54 @@
44

55
use \DateTime;
66

7+
/**
8+
* Class PassportToken
9+
*
10+
* @property int $token_id
11+
* @property int $user_id
12+
* @property boolean $expecting
13+
* @property int $start_at_unix
14+
* @property string $start_at
15+
* @property boolean $incorrect
16+
* @property int $created_at_unix
17+
* @property string $created_at
18+
* @property boolean $expired
19+
* @property int $expires_at_unix
20+
* @property string $expires_at
21+
* @property boolean $error
22+
* @property array $errors
23+
* @property boolean $valid
24+
*
25+
* @package PeterPetrus\PassportToken
26+
*/
727
class PassportToken
828
{
29+
private $token = null;
30+
private $properties = array();
31+
32+
public function __construct($token)
33+
{
34+
$this->properties = static::dirtyDecode($token);
35+
$this->token = $token;
36+
}
37+
38+
public function getToken()
39+
{
40+
return $this->token;
41+
}
42+
43+
public function getProperties()
44+
{
45+
return $this->properties;
46+
}
47+
48+
public function __get($property) {
49+
if (array_key_exists($property, $this->properties)) {
50+
return $this->properties[$property];
51+
}
52+
return null;
53+
}
54+
955
/**
1056
* Decode a Access Token
1157
*

0 commit comments

Comments
 (0)