thies / json-web-token
用PHP编写的JSON Web Token库
v1.0.0
2022-12-17 15:26 UTC
Requires
- php: ^8.1
- ext-openssl: *
- symfony/console: ^6.1
Requires (Dev)
- phpunit/phpunit: ^9
- psy/psysh: @stable
- squizlabs/php_codesniffer: ^3
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