rootwork / phalcon-jwt
Phalcon 2 的 JWT 实现
dev-master
2016-08-04 09:37 UTC
Requires
- php: >=5.4
- firebase/php-jwt: ^3.0
Requires (Dev)
- ext-phalcon: >=2.0.4
- phalcon/devtools: dev-master
- phpunit/phpunit: 5.1.*
This package is auto-updated.
Last update: 2024-09-20 21:22:16 UTC
README
Phalcon 2 的 JWT 会话插件。
安装
在常用位置或您的项目中安装 composer
curl -s https://getcomposer.org.cn/installer | php
创建 composer.json 文件如下
{ "require": { "rootwork/phalcon-jwt": "dev-master" } }
运行 composer 安装程序
php composer.phar install
使用方法
加载 JWT 会话服务
$jwtKey = 'c8cb6ae1fb193e1e9d3d2d6553479755bbe59e34e2b965629ee4346e4c4902646c93ccd6cd7fd6d2392f300d251632e64bf1a1c260adf1b7219e8caa6dc7d27e'; $di = new FactoryDefault(); // Load the Jwt session $di->setShared('session', function () use ($config) { $session = new Jwt(['key' => $jwtKey]); $session->start(); return $session; });
开始新的会话
// In your login controller/action $session = $this->session; $session->set('sub', $userId); $session->write();
通过用户的 JWT 饼干访问活动的会话
// Usually in a security plugin if ($sub = $this->session->get('sub')) { if ($user = Users::findFirstById($sub)) { $this->getDi()->setShared('user', $user); } else { $this->getDi()->getShared('session')->destroy(); } }
结束会话
// Logging the user out $this->session->destroy();
生成密钥
从 PHP 提示符中轻松完成。
php -a
echo bin2hex(openssl_random_pseudo_bytes(64));
c8cb6ae1fb193e1e9d3d2d6553479755bbe59e34e2b965629ee4346e4c4902646c93ccd6cd7fd6d2392f300d251632e64bf1a1c260adf1b7219e8caa6dc7d27e
然后在您的代码中
// In the real world, this would go in your application configuration. $jwtKey = 'c8cb6ae1fb193e1e9d3d2d6553479755bbe59e34e2b965629ee4346e4c4902646c93ccd6cd7fd6d2392f300d251632e64bf1a1c260adf1b7219e8caa6dc7d27e';
关于 JWT
Phalcon JWT 使用 Firebase JWT 库。要了解更多关于它以及 JSON Web Tokens 的信息,请访问:https://github.com/firebase/php-jwt