You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.1 KiB
41 lines
1.1 KiB
<?php
|
|
include __DIR__ . "/../vendor/autoload.php";
|
|
use \Firebase\JWT\JWT;
|
|
|
|
$key = "example_key";
|
|
$payload = array(
|
|
"iss" => "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.
|
|
*/
|
|
echo $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'));
|
|
|
|
?>
|