2017 © Pedro Peláez
 

library php-jwt

Forked firebase/php-jwt that adds parsed payload in exceptions.

image

femastudios/php-jwt

Forked firebase/php-jwt that adds parsed payload in exceptions.

  • Wednesday, February 7, 2018
  • by FEMAStudios
  • Repository
  • 0 Watchers
  • 0 Stars
  • 76 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 633 Forks
  • 0 Open issues
  • 8 Versions
  • 62 % Grown

The README.md

Build Status Latest Stable Version Total Downloads License, (*1)

PHP-JWT

A simple library to encode and decode JSON Web Tokens (JWT) in PHP, conforming to RFC 7519., (*2)

Installation

Use composer to manage your dependencies and download PHP-JWT:, (*3)

composer require firebase/php-jwt

Example

 "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'));

?>

Example with RS256 (openssl)

 "example.org",
    "aud" => "example.com",
    "iat" => 1356999524,
    "nbf" => 1357000000
);

$jwt = JWT::encode($token, $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";
?>

Changelog

5.0.0 / 2017-06-26

4.0.0 / 2016-07-17

  • Add support for late static binding. See #88 for details. Thanks to @chappy84!
  • Use static $timestamp instead of time() to improve unit testing. See #93 for details. Thanks to @josephmcdermott!
  • Fixes to exceptions classes. See #81 for details. Thanks to @Maks3w!
  • Fixes to PHPDoc. See #76 for details. Thanks to @akeeman!

3.0.0 / 2015-07-22

  • Minimum PHP version updated from 5.2.0 to 5.3.0.
  • Add \Firebase\JWT namespace. See #59 for details. Thanks to @Dashron!
  • Require a non-empty key to decode and verify a JWT. See #60 for details. Thanks to @sjones608!
  • Cleaner documentation blocks in the code. See #62 for details. Thanks to @johanderuijter!

2.2.0 / 2015-06-22

  • Add support for adding custom, optional JWT headers to JWT::encode(). See #53 for details. Thanks to @mcocaro!

2.1.0 / 2015-05-20

  • Add support for adding a leeway to JWT:decode() that accounts for clock skew between signing and verifying entities. Thanks to @lcabral!
  • Add support for passing an object implementing the ArrayAccess interface for $keys argument in JWT::decode(). Thanks to @aztech-dev!

2.0.0 / 2015-04-01

  • Note: It is strongly recommended that you update to > v2.0.0 to address known security vulnerabilities in prior versions when both symmetric and asymmetric keys are used together.
  • Update signature for JWT::decode(...) to require an array of supported algorithms to use when verifying token signatures.

Tests

Run the tests using phpunit:, (*4)

$ 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)

New Lines in private keys

If your private key contains \n characters, be sure to wrap it in double quotes "" and not single quotes '' in order to properly interpret the escaped characters., (*5)

License

3-Clause BSD., (*6)

The Versions

07/02 2018

dev-master

9999999-dev https://github.com/femastudios/php-jwt

Forked firebase/php-jwt that adds parsed payload in exceptions.

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.3.0

 

The Development Requires

by Neuman Vong
by Anant Narayanan
by Mauro Molin

11/01 2018

v5.0.0

5.0.0.0 https://github.com/firebase/php-jwt

A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.3.0

 

The Development Requires

by Neuman Vong
by Anant Narayanan

18/07 2016

v4.0.0

4.0.0.0 https://github.com/firebase/php-jwt

A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.3.0

 

by Neuman Vong
by Anant Narayanan

22/07 2015

v3.0.0

3.0.0.0 https://github.com/firebase/php-jwt

A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.3.0

 

by Neuman Vong
by Anant Narayanan

23/06 2015

v2.2.0

2.2.0.0 https://github.com/firebase/php-jwt

A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.2.0

 

by Neuman Vong
by Anant Narayanan

20/05 2015

v2.1.0

2.1.0.0 https://github.com/firebase/php-jwt

A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.2.0

 

by Neuman Vong
by Anant Narayanan

01/04 2015

2.0.0

2.0.0.0 https://github.com/firebase/php-jwt

A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.2.0

 

by Neuman Vong
by Anant Narayanan

28/08 2014

1.0.0

1.0.0.0 https://github.com/firebase/php-jwt

A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.2.0

 

by Neuman Vong
by Anant Narayanan