PHP code example of gamegos / jws
1. Go to this page and download the library: Download gamegos/jws library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
gamegos / jws example snippets
$headers = array(
'alg' => 'HS256', //alg is ializable
$payload = array(
'sub' => '[email protected] ',
'iat' => '1402993531'
);
$key = 'some-secret-for-hmac';
$jws = new \Gamegos\JWS\JWS();
echo $jws->encode($headers, $payload, $key);
//eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJzb21lb25lQGV4YW1wbGUuY29tIiwiaWF0IjoiMTQwMjk5MzUzMSJ9.0lgcQRnj_Jour8MLdIc71hPjjLVcQAOtagKVD9soaqU
$key = 'some-secret-for-hmac';
//jws encoded string
$jwsString = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJzb21lb25lQGV4YW1wbGUuY29tIiwiaWF0IjoiMTQwMjk5MzUzMSJ9.0lgcQRnj_Jour8MLdIc71hPjjLVcQAOtagKVD9soaqU';
$jws = new \Gamegos\JWS\JWS();
$jws->verify($jwsString, $key);
/*
Array
(
[headers] => Array
(
[alg] => HS256
[typ] => JWT
)
[payload] => Array
(
[sub] => [email protected]
[iat] => 1402993531
)
)
*/
$jws->decode($jwsString);
//example NoneAlgorithm
class NoneAlgorithm implements \Gamegos\JWS\Algorithm\AlgorithmInterface
{
public function sign($key, $data)
{
return '';
}
public function verify($key, $data, $signature)
{
return (string) $signature === '';
}
}
//...
$jws = new \Gamegos\JWS\JWS();
$jws->registerAlgorithm('my-new-algorithm', new NoneAlgorithm());