thies/json-web-token

用PHP编写的JSON Web Token库

v1.0.0 2022-12-17 15:26 UTC

This package is auto-updated.

Last update: 2024-09-20 19:45:27 UTC


README

用PHP编写的JSON Web Token库

安装

composer require thies/json-web-token

用法

编码

$header = [
    'alg' => 'HS256',
    'typ' => 'JWT',
];

$payload = [
    'sub' => '1234567890',
    'name' => 'John Doe',
    'iat' => 1516239022
];

$encodedToken = \JsonWebToken\JWT::encode($header, $payload, 'your-passphrase-or-key');

$encodedToken->get(); // eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.g0nxZDyzNvuhhuPrpwZFNdtGH2q0AQ0jbTdr5g5NMeA
$encodedToken->getHeader(); // eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
$encodedToken->getPayload(); // eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ
$encodedToken->getSignature(); // g0nxZDyzNvuhhuPrpwZFNdtGH2q0AQ0jbTdr5g5NMeA

echo $encodedToken // eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.g0nxZDyzNvuhhuPrpwZFNdtGH2q0AQ0jbTdr5g5NMeA

解码

$jwtToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.g0nxZDyzNvuhhuPrpwZFNdtGH2q0AQ0jbTdr5g5NMeA';

$decodedToken = \JsonWebToken\JWT::decode($jwtToken, 'your-passphrase-or-key');

$decodedToken->getHeader(); // array
$decodedToken->getPayload(); // array
$decodedToken->isValid(); // bool

支持的算法