mr-timofey/laravel-simple-tokens
Composer 安装命令:
composer require mr-timofey/laravel-simple-tokens
包简介
Simple token and cache based user authentication and authorization
README 文档
README
Simple token and cache based user authentication and authorization.
You are tired of the mind-blowing, unnecessarily complex Passport OAuth? You want something configurable, manageable and simple? Then that is just the package you need.
Features
- Fully Eloquent compatible auth driver
- Cache based token authorization with configurable TTL
- Additional query restriction configuration per each provider using simple
where/where inclauses or model scopes (for example, you can restrict authorization only for particular user roles) - Controller trait to maintain authentication/authorization/logout logic for your application out-of-the-box (but you still have to define controller and routes)
- Multiple independent guards support
Requirements
- PHP 7.1
- Laravel 5
Install
composer require mr-timofey/laravel-simple-tokens
For Laravel <= 5.4 add MrTimofey\LaravelSimpleTokens\ServiceProvider to your app.providers config.
php artisan vendor:publish --provider="MrTimofey\LaravelSimpleTokens\ServiceProvider"
Usage
Set your auth.providers.users.driver (replace users to other provider if needed) config to simple.
Any authorized HTTP request must contain Authorization: Bearer {api_token} header.
Configure a guard (api by default) if necessary.
Use MrTimofey\LaravelSimpleTokens\AuthenticatesUsers trait with your auth controller. This trait adds methods:
- authenticate - authenticates user with login/email/password/remember_token and returns JSON response which includes:
{ user: { /* user data */ }, api_token: 'api token string', remember_token: 'remember token string or NULL if request does not have a "remember" flag' }
This method generatesapi_tokenand puts it to cache withcache()->set('prefix:' . $token, $user_id, $ttl). Also regenerates userremember_token. TTL is configured insimple_tokens.ttl. - logout - deletes
api_tokenfrom cache. - user - returns user data JSON.
Also you can define a $guard class field to use any guard other than default one (api).
Auth provider configuration
// config/auth.php return [ // ... 'providers' => [ // Simple example (suitable for most cases) 'simple' => [ 'driver' => 'simple', 'model' => App\User::class ], // Advanced example 'advanced' => [ 'driver' => 'simple', 'model' => App\User::class, // Query modifiers 'only' => [ // only users with email = example@email.com 'email' => 'example@email.com', // only users with ID 1, 2 or 3 'id' => [1, 2, 3] ], // Any model scope 'scope' => 'scopeName', // ...or 'scope' => [ 'scopeName', 'scopeWithArguments' => ['arg1', 'arg2'] ], // Cache prefix can be configured if you want to use multiple independent providers. // This will allow clients to have multiple tokens (one per each unique prefix). // On the other hand, you can restrict users to have a sinlgle token by providing same prefix. // Default: no prefix // IMPORTANT: this prefix will be appended to the `simple_tokens.cache_prefix` config entry. 'cache_prefix' => '', // Token expiration time in minutes. // You can overwrite default value from the `simple_tokens.token_ttl` config entry here. 'token_ttl' => 60 ] ], // ... ];
mr-timofey/laravel-simple-tokens 适用场景与选型建议
mr-timofey/laravel-simple-tokens 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 4.13k 次下载、GitHub Stars 达 6, 最近一次更新时间为 2017 年 12 月 01 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「Simple」 「auth」 「laravel」 「token」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 mr-timofey/laravel-simple-tokens 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 mr-timofey/laravel-simple-tokens 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 mr-timofey/laravel-simple-tokens 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Laravel Multiauth package
A lightweight and powerful OAuth 2.0 authorization and resource server library with support for all the core specification grants. This library will allow you to secure your API with OAuth and allow your applications users to approve apps that want to access their data from your API.
A simple library for make Lexer and Parsers to build a language
A simple library that allows transform any kind of data to native php data or whatever
A simple library that uses the hydration pattern to fill objects given different sources of data.
Micro Active Record library in PHP, support chain calls, events, and relations.
统计信息
- 总下载量: 4.13k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 7
- 点击次数: 24
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-12-01