xzag / yii3-jwt
Trait for easier JWT integration
Installs: 7
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 20
Type:yii3-extension
Requires
- php: ^7.2
- firebase/php-jwt: ~5.0
Requires (Dev)
- yiisoft/active-record: ^3.0@dev
- yiisoft/arrays: ^3.0@dev
- yiisoft/cache: ^3.0@dev
- yiisoft/db: ^3.0@dev
- yiisoft/di: ^3.0@dev
- yiisoft/inflector: ^3.0@dev
- yiisoft/log: ^3.0@dev
- yiisoft/strings: ^3.0@dev
- yiisoft/view: ^3.0@dev
- yiisoft/yii-core: ^3.0@dev
- yiisoft/yii-web: ^3.0@dev
README
JWT implementation for Yii3
For details see JWT official website.
Installation
To install run:
composer require "xzag/yii3-jwt: ~3.0"
Or add this line to require section of composer.json:
"xzag/yii3-jwt": "~3.0"
Usage
There is only one trait - UserTrait - which gives you 5 methods for authorization and JWT-management in User model
Set up:
In controller:
<?php // ... use yii\web\filters\auth\HttpBearerAuth; use Yiisoft\Yii\Rest\ActiveController; class BearerAuthController extends ActiveController { public function behaviors() { return array_merge(parent::behaviors(), [ 'bearerAuth' => [ 'class' => HttpBearerAuth::class ] ]); } }
In User model:
<?php // ... use yii\activerecord\ActiveRecord; use yii\web\IdentityInterface; class User extends ActiveRecord implements IdentityInterface { // Use the trait in your User model use xzag\JWT\UserTrait; // Override this method protected static function getSecretKey() { return 'someSecretKey'; } // And this one if you wish protected static function getHeaderToken() { return []; } // ... }