thamtech / yii2-jws
JWS 令牌管理器
v1.1
2018-04-13 16:50 UTC
Requires
- php: >=5.6.0
- namshi/jose: ^6.0
- yiisoft/yii2: >=2.0.14 <2.1
This package is auto-updated.
Last update: 2024-09-10 03:48:55 UTC
README
用于管理签名 JWS 令牌的扩展
此库通过 namshi/jose 与之接口,以生成签名的 JWS 令牌。
有关许可信息,请检查 LICENSE 文件。
安装
安装此扩展的首选方式是通过 composer。
运行以下命令之一:
php composer.phar require --prefer-dist thamtech/yii2-jws
或者
"thamtech/yii2-jws": "*"
将以下内容添加到您的 composer.json
文件的 require
部分:
集成
-
使用 OpenSSL 生成密钥对 并将密钥存储在 public.pem 和 private.pem 中。
-
在您的网站配置中添加 JwsManager 应用组件
return [ 'components' => [ 'jwsManager' => [ 'class' => 'thamtech\jws\components\JwsManager', 'pubkey' => '@app/config/keys/jws/public.pem', 'pvtkey' => '@app/config/keys/jws/private.pem', // The settings below are optional. Defaults will be used if not set here. //'encoder' => 'Namshi\JOSE\Base64\Base64UrlSafeEncoder', //'exp' => '1 hour', //'alg' => 'RS256', //'jwsClass' => 'Namshi\JOSE\SimpleJWS', ], ] ]
使用方法
生成新令牌
$payload = [ "user_id": 23, "foo": "bar", ]; $tokenString = Yii::$app->jwsManager->newToken($payload);
验证此字符串是否是我们签名的令牌
$token = Yii::$app->jwsManager->load($tokenString); $result = Yii::$app->jwsManager->verify($token);
验证此字符串是否是我们签名的令牌,并且(如果它是 \Namshi\JOSE\SimpleJWS
实例并且有有效期)它尚未过期
$token = Yii::$app->jwsManager->load($tokenString); $result = Yii::$app->jwsManager->isValid($token);
另请参阅
-
cranetm/yii2-json-rpc-2.0 - 帮助将您的控制器转换为 JSON RPC 2.0 API 的 Yii 2 扩展。
-
namshi/jose - JWS(JSON Web Signature)规范的 PHP 实现。
-
JSON Web Token (JWT) - JWT 规范
-
JSON Web Signature (JWS) - JWS 规范