thamtech/yii2-jws

JWS 令牌管理器

资助包维护!
Liberapay

安装: 358

依赖项: 0

建议者: 0

安全: 0

星级: 0

关注者: 2

分支: 0

开放问题: 0

类型:yii2-extension

v1.1 2018-04-13 16:50 UTC

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 部分:

集成

  1. 使用 OpenSSL 生成密钥对 并将密钥存储在 public.pem 和 private.pem 中。

  2. 在您的网站配置中添加 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);

另请参阅