apatis/auth-easy
Composer 安装命令:
composer require apatis/auth-easy
包简介
Easy Auth for User Meta Database Login Session Storage
README 文档
README
Easy Auth for User Meta Database Login Session Storage
Small Notes
<?php namespace ExampleApp; use Apatis\Auth\Easy\AuthCookie; use Apatis\Auth\Easy\SessionToken; require __DIR__ . '/vendor/autoload.php'; /** * @var array $sessionDataFromDatabase meta * or get from (array) database->get(selector_from_database where username) */ $sessionDataFromDatabase = []; $cookieExpiration = strtotime('+1 year'); $secretKey = 'secret'; $username = 'username'; $password = 'password'; $cookieName = 'cookie_name_selector'; $sessionToken = new SessionToken($sessionDataFromDatabase); $authCookie = new AuthCookie($secretKey, true); /** * Token to save on session and for generated auth cookie */ $token = $sessionToken->create($cookieExpiration); /** * Generated Cookie Values to set for cookies */ $cookieValue = $authCookie->generate( $username, $password, $cookieName, $token ); if (setcookie($cookieName, $cookieValue, $cookieExpiration)) { // doing database save /** * Database->save(json_encode($sessionToken)); * or just serialize t save as blob or safe value * Database->save(serialize($sessionToken)); */ } /** * To get Data from cookie */ $cookieStoredValues = isset($_COOKIE[$cookieName]) ? $_COOKIE[$cookieName] : null; $isLogged = false; if (is_string($cookieStoredValues)) { if (is_array($cookieToken = $authCookie->parse($cookieStoredValues))) { $generator = $authCookie->getGenerator(); $username = $cookieToken[$generator::USERNAME_KEY]; // $token = $cookieToken[$generator::TOKEN_KEY]; // .... @see \Apatis\Auth\Easy\Generator::parse(); // $userData = Database->getUserByUsername($username); << example /** * @var array $userData array detail */ if (!empty($userData)) { $tokenForSessionDB = $authCookie->validate( (string) $userData['username'], (string) $userData['password'], $cookieName, $cookieStoredValues ); // $tokenForSessionDB is string if ($tokenForSessionDB !== false) { // @var bool $isLogged $isLogged = $sessionToken->verify($tokenForSessionDB); } } } } if ($isLogged) { // do logged }
LICENSE
apatis/auth-easy 适用场景与选型建议
apatis/auth-easy 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 36 次下载、GitHub Stars 达 1, 最近一次更新时间为 2018 年 01 月 27 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 apatis/auth-easy 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 apatis/auth-easy 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 36
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 13
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-01-27