kolayik / auth
此包的最新版本(v2.1.0)没有可用的许可信息。
Kolay Auth
v2.1.0
2023-07-17 10:33 UTC
Requires
- php: ^7.3|^8.0|^8.1
- illuminate/auth: ^8.0|^9.0|^10.0
- illuminate/contracts: ^8.0|^9.0|^10.0
- illuminate/http: ^5.0|^6.0|^7.0|^8.0|^9.0|^10.0
- illuminate/support: ^8.0|^9.0|^10.0
Requires (Dev)
- illuminate/console: ^8.0|^9.0|^10.0
- illuminate/database: ^8.0|^9.0|^10.0
- illuminate/routing: ^8.0|^9.0|^10.0
- mockery/mockery: ^1.4
- phpunit/phpunit: ^10.0
This package is not auto-updated.
Last update: 2024-09-21 13:12:33 UTC
README
对于版本 dev-master
,请参阅下面的文档。
安装
要安装此包,您需要
- Laravel 4 或 5
- PHP 5.4+
通过composer require安装包
composer require kolayik/auth:dev-master
或编辑您的composer.json文件
"require": {
"kolayik/auth": "dev-master"
}
然后在您的终端中运行composer update以拉取它。
完成此操作后,您需要将服务提供者添加到app.php配置文件中的providers数组中,如下所示
KolayIK\Auth\Providers\LaravelServiceProvider::class
最后,您可以使用以下命令发布配置和迁移文件
Laravel 5
$ php artisan vendor:publish --provider="KolayIK\Auth\Providers\LaravelServiceProvider"
配置
打开.env
文件并根据您的需求进行更改。
令牌有效期 - KOLAY_AUTH_TTL
存储 - KOLAY_AUTH_DRIVER
KOLAY_AUTH_DRIVER:"database" or "cache"
KOLAY_AUTH_TTL:1440
快速入门
如何生成自定义令牌?
use KolayIK\Auth\Facades\KolayAuth;
class AuthenticateController extends Controller
{
public function authenticate(Request $request)
{
// your add custom login code
$userId = "kolayik";
return response()->json(KolayAuth::generate($userId));
}
}
如何在自定义中间件中通过令牌进行认证?
namespace App\Http\Middleware;
use KolayIK\Auth\Facades\KolayAuth;
class CustomAuth
{
public function handle($request, Closure $next)
{
$token = KolayAuth::authenticate();
if ($token->isExpired()) {
throw new \Exception('Session expired!');
}
return $next($request);
}
}
认证
要使用内置方法通过http进行认证请求,您需要设置如下授权头
Authorization: Bearer {yourtoken}
Apache用户的注意
Apache似乎在不是base64编码的用户/密码组合的情况下会丢弃授权头。因此,要修复此问题,您可以在Apache配置中添加以下内容
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
或者,您可以通过查询字符串包含令牌
http://api.mysite.com/me?authorization_key={yourtoken}
要从请求中获取令牌,您可以这样做
$token = KolayAuth::getToken();
中间件
您可以使用kolay.auth
中间件
Route::group(['prefix' => '/api/v1', 'middleware' => 'kolay.auth'], function () {
//your code
});
许可
MIT许可(MIT)