Skip to content

bastman/php-jwt

 
 

Repository files navigation

Build Status Latest Stable Version Total Downloads License

PHP-JWT

PHP library to encode and decode JSON Web Tokens (JWT). Support several key types including JWK. Conform to the current spec

Installation

Use composer to manage your dependencies and download PHP-JWT:

composer require fproject/php-jwt

Example

<?php
use \Firebase\JWT\JWT;

$key = "example_key";
$token = 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.
 */
$jwt = JWT::encode($token, $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'));

?>

Changelog

3.0.3 / 2015-11-05

  • Minimum PHP version updated from 5.3.0 to 5.4.0.
  • Add JWK support

3.0.0 / 2015-07-22

  • Original features from firebase/php-jwt repository

Tests

Run the tests using phpunit:

$ pear install PHPUnit
$ phpunit --configuration phpunit.xml.dist
PHPUnit 3.7.10 by Sebastian Bergmann.
.....
Time: 0 seconds, Memory: 2.50Mb
OK (5 tests, 5 assertions)

License

3-Clause BSD.

About

PHP library to encode and decode JWT. Support several key types including JWK

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 96.3%
  • Shell 3.7%