Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tekintian/phpjwt
PHP JSON Web Tokens (JWT) with Microable
https://github.com/tekintian/phpjwt
Last synced: about 10 hours ago
JSON representation
PHP JSON Web Tokens (JWT) with Microable
- Host: GitHub
- URL: https://github.com/tekintian/phpjwt
- Owner: tekintian
- Created: 2020-07-14T15:34:31.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-07-14T15:50:54.000Z (over 4 years ago)
- Last Synced: 2024-04-19T23:02:30.669Z (7 months ago)
- Language: PHP
- Size: 10.7 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
PHP JWT
=======
PHP JSON Web Tokens (JWT) with MicroableInstallation
------------Use composer to manage your dependencies and download PHP JWT:
```bash
composer require tekintian/phpjwt
```Example
-------
```php
"http://example.org",
"aud" => "http://example.com",
"iat" => 1356999524,
"nbf" => 1357000000
);/**
* IMPORTANT:
* You must specify supported algorithms for your application. See
* https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40
* for a list of spec-compliant algorithms.
*/
$jwt = JWT::encode($payload, $key);
$decoded = JWT::decode($jwt, $key, array('HS256'));print_r($decoded);
/*
NOTE: This will now be an object instead of an associative array. To get
an associative array, you will need to cast it as such:
*/$decoded_array = (array) $decoded;
/**
* You can add a leeway to account for when there is a clock skew times between
* the signing and verifying servers. It is recommended that this leeway should
* not be bigger than a few minutes.
*
* Source: http://self-issued.info/docs/draft-ietf-oauth-json-web-token.html#nbfDef
*/
JWT::$leeway = 60; // $leeway in seconds
$decoded = JWT::decode($jwt, $key, array('HS256'));?>
```
Example with RS256 (openssl)
----------------------------
```php
"example.org",
"aud" => "example.com",
"iat" => 1356999524,
"nbf" => 1357000000
);$jwt = JWT::encode($payload, $privateKey, 'RS256');
echo "Encode:\n" . print_r($jwt, true) . "\n";$decoded = JWT::decode($jwt, $publicKey, array('RS256'));
/*
NOTE: This will now be an object instead of an associative array. To get
an associative array, you will need to cast it as such:
*/$decoded_array = (array) $decoded;
echo "Decode:\n" . print_r($decoded_array, true) . "\n";
?>
```## use Macroable in php class
~~~php
/**
* summary
*/
class MyClass
{
// import macroable
use \tekintian\JWT\Macroable;
/**
* summary
*/
public function __construct()
{
}
}~~~