archphp / jwt
A simple JSON Web Token Library.
v0.1.1
2019-03-04 04:06 UTC
Requires
- ext-json: *
Requires (Dev)
- phpunit/phpunit: ^7.0
This package is auto-updated.
Last update: 2024-04-26 01:51:29 UTC
README
This is a simple library for working with Json Web Token in PHP.
Installing
$ composer require archphp/jwt
How to use
<?php require_once '{path/to/vendor}/autoload.php'; use Arch\JWT\JWT; use Arch\JWT\Token\Header; use Arch\JWT\Token\Payload; use Arch\JWT\Token\Algorithm\HS256; use Arch\JWT\Token\Claim\Subject; $alg = new HS256('secret'); $typ = 'JWT'; $header = new Header($alg, $typ); $payload = new Payload([ Subject::$name => 'arch', 'custom_claim' => 'custom_value' ]); /** * @see \Arch\JWT\Token\Claim for all available claims */ $jwt = new JWT($header, $payload); // This will print out the encrypted JWT. echo $jwt->getJWT();
Decoding a JWT
<?php use Arch\JWT\JWT; use Arch\JWT\Exception\InvalidJWTException; use Arch\JWT\Exception\VerifierException; $t = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJBcmNoIn0.kq-ax6J9QPjDcT9Gx4ZPwP-L-FBY_rnEE5i_2ec2X7o'; // The secret key used in encrypting the JWT. $secret = 'Arch01'; // JWT::decode will throw an Exception if the JWT is invalid or claims are not verified. try { $jwt = JWT::decode($t, $secret); } catch(InvalidJWTException|VerifierException $e) { echo $e->getMessage(); }