2017 © Pedro Peláez
 

library php-jwt

A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Support several key types including JWK.

image

fproject/php-jwt

A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Support several key types including JWK.

  • Monday, April 2, 2018
  • by F-Project
  • Repository
  • 3 Watchers
  • 2 Stars
  • 31,837 Installations
  • PHP
  • 4 Dependents
  • 0 Suggesters
  • 632 Forks
  • 0 Open issues
  • 16 Versions
  • 31 % Grown

The README.md

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

PHP-JWT

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

Installation

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

composer require fproject/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 / 2018-03-21

  • Update to 5.0.0 from upstream

4.0.0 / 2016-08-10

  • Update to 4.0.0 from upstream

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:, (*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

02/04 2018

dev-master

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

A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Support several key types including JWK.

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.4.0

 

The Development Requires

by Neuman Vong
by Anant Narayanan

02/04 2018

4.0.5

4.0.5.0 https://github.com/fproject/php-jwt

A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Support several key types including JWK.

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.4.0

 

The Development Requires

by Neuman Vong
by Anant Narayanan

29/03 2018

4.0.4

4.0.4.0 https://github.com/fproject/php-jwt

A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Support several key types including JWK.

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.4.0

 

The Development Requires

by Neuman Vong
by Anant Narayanan

27/09 2017

4.0.3

4.0.3.0 https://github.com/fproject/php-jwt

A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Support several key types including JWK.

  Sources   Download

BSD-3-Clause

The Requires

 

by Neuman Vong
by Anant Narayanan

05/04 2017

4.0.2

4.0.2.0 https://github.com/fproject/php-jwt

A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Support several key types including JWK.

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.4.0

 

by Neuman Vong
by Anant Narayanan

10/08 2016

4.0.1

4.0.1.0 https://github.com/fproject/php-jwt

A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Support several key types including JWK.

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.4.0

 

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

05/11 2015

v3.0.4

3.0.4.0 https://github.com/fproject/php-jwt

A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Support several key types including JWK.

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.4.0

 

by Neuman Vong
by Anant Narayanan

05/11 2015

3.0.3

3.0.3.0 https://github.com/fproject/php-jwt

A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Support several key types including JWK.

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.3.0

 

by Neuman Vong
by Anant Narayanan

30/09 2015

v3.0.2

3.0.2.0 https://github.com/fproject/php-jwt

PHP library to encode and decode JSON Web Tokens (JWT) using several key types including JWK. 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

28/09 2015

v3.0.1

3.0.1.0 https://github.com/fproject/php-jwt

PHP library to encode and decode JSON Web Tokens (JWT) using several key types including JWK. 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

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