kolayik/auth

此包的最新版本(v2.1.0)没有可用的许可信息。

Kolay Auth

v2.1.0 2023-07-17 10: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)