jsq / iron-php
hueniverse/iron 的 PHP 版本
0.4.0
2016-05-23 05:10 UTC
Requires
- php: >=7.0
- ext-openssl: *
Requires (Dev)
- phpunit/phpunit: ^5.2
This package is auto-updated.
Last update: 2024-08-29 04:31:02 UTC
README
iron-php
是 Iron 库的 PHP 实现。Iron 生成适合嵌入到 cookies、查询参数和 HTTP 头部的封装令牌。
$ composer require jsq/iron-php
在使用此库之前,请参阅 Iron [安全考虑] (https://github.com/hueniverse/iron#security-considerations)。
与 Iron 的不同之处
iron-php
支持 Iron 4.0 生成的令牌格式,但有以下例外
- 负载加密加密方法可配置,但不能设置为任何 AES 的 GCM 或 CTR 变体。这是由于 PHP 的限制,将在 PHP 7.1 中解决。
- 不支持单独的加密和签名密码。
使用方法
<?php use Jsq\Iron; use Jsq\Iron\Password; // payloads can be anything that can be serialized by json_encode $payload = ['an' => 'array']; // passwords must be at least 32 characters long $password = base64_encode(openssl_random_pseudo_bytes(24)); // tokens can be set to expire after a fixed number of seconds $ttl = 300; // create a sealed token $token = Iron\seal($payload, $password, $ttl); // The token will be unsealable with the correct password until the token expires $unsealed = Iron\unseal($token, $password); // Named passwords can also be used $password = new Password(base64_encode(openssl_random_pseudo_bytes(24)), 'my_password'); // create a sealed token with the named password $token = Iron\seal($payload, $password);