104

GitHub - cdoco/php-jwt: A PHP extension for JSON Web Token

 5 years ago
source link: https://github.com/cdoco/php-jwt
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

php-jwt

Build Status Branch master

A PHP extension for JSON Web Token

Requirement

  • PHP 7 +

Install

$ git clone https://github.com/cdoco/php-jwt.git
$ cd php-jwt
$ phpize && ./configure --with-openssl=/path/to/openssl
$ make && make install

Quick Example

$key = "example_key";
$claims = array(
    "data" => [
        "name" => "ZiHang Gao",
        "admin" => true
    ],
    "iss" => "http://example.org",
    "sub" => "1234567890",
);

// default HS256 algorithm
$token = jwt_encode($claims, $key);

echo $token . PHP_EOL;
//eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.
//eyJpc3MiOiJodHRwOlwvXC9leGFtcGxlLm9yZyIsInN1YiI6IjEyMzQ1Njc4OTAiLCJuYW1lIjoiWmlIYW5nIEdhbyIsImFkbWluIjp0cnVlfQ.
//2lFeBTsRegsjXiBCZNkW41KFlsZPSFu7KTsyAM9lUiQ

print_r(jwt_decode($token, $key));
/**
Array
(
    [data] => Array
        (
            [name] => ZiHang Gao
            [admin] => 1
        )

    [iss] => http://example.org
    [sub] => 1234567890
)
*/

Example

Benchmarks

Benchmarks

Methods

//encode
string jwt_encode(array $claims, string $key [, string $alg = 'HS256'])

//decode
array jwt_decode(string $token, string $key [, string $alg = 'HS256'])

The algorithm of support

algorithm - - - HMAC HS256 HS384 HS512 RSA RS256 RS384 RS512 ECDSA ES256 ES384 ES512

License

PHP License. See the LICENSE file.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK