free2er / jwt
1.0.0
2020-03-17 15:21 UTC
Requires
- php: ^7.4
- ext-gmp: *
- ext-json: *
- ext-openssl: *
- ext-sodium: *
- free2er/ed25519: ^1.0
- nesbot/carbon: ^2.31
- web-token/jwt-checker: ^2.1
- web-token/jwt-core: ^2.1
- web-token/jwt-key-mgmt: ^2.1
- web-token/jwt-signature: ^2.1
- web-token/jwt-signature-algorithm-ecdsa: ^2.1
- web-token/jwt-signature-algorithm-eddsa: ^2.1
- web-token/jwt-signature-algorithm-hmac: ^2.1
- web-token/jwt-signature-algorithm-none: ^2.1
- web-token/jwt-signature-algorithm-rsa: ^2.1
Requires (Dev)
- free2er/coding-standard: ^1.1
- phpunit/phpunit: ^8.5
This package is auto-updated.
Last update: 2024-09-18 01:16:20 UTC
README
JWT 工具
安装
此组件可以使用 Composer 依赖管理器进行安装。
-
将组件作为项目依赖项安装
composer require free2er/jwt
用法
创建 JWK
use Free2er\Jwt\KeyFactory; $factory = new KeyFactory(); $factory->create('/path/to/private.key'); $factory->create('/path/to/public.key');
创建 JWT
use Free2er\Jwt\TokenFactory; $factory = new TokenFactory(); $factory->create(['aud' => 'client', 'sub' => 'user'], '/path/to/private.key');
验证 JWT
use Free2er\Jwt\TokenValidator; $validator = new TokenValidator(); $validator->validate('some.jwt.token', '/path/to/public.key');
OpenSSL 命令
生成 RSA 密钥
openssl genrsa -out private.key 2048 openssl rsa -in private.key -pubout -out public.key
带密码生成 RSA 密钥
openssl genrsa -passout pass:_passphrase_ -out private.key 2048 openssl rsa -in private.key -passin pass:_passphrase_ -pubout -out public.key
生成 EC P-256 密钥
openssl ecparam -name prime256v1 -genkey -noout -out private.key openssl ec -in private.key -pubout -out public.key
生成 EC P-384 密钥
openssl ecparam -name secp384r1 -genkey -noout -out private.key openssl ec -in private.key -pubout -out public.key
生成 EC P-521 密钥
openssl ecparam -name secp521r1 -genkey -noout -out private.key openssl ec -in private.key -pubout -out public.key
生成 Ed25519 密钥
openssl genpkey -algorithm Ed25519 -out private.key openssl pkey -in private.key -pubout -out public.key