Stars: 183
Forks: 176
Pull Requests: 0
Issues: 7
Watchers: 23
Last Updated: 2020-06-21 17:38:57
CodeIgniter JWT Sample
License: MIT License
Languages: PHP, HTML, Shell, Makefile, Python, CSS, JavaScript, Ruby, BlitzBasic, Smarty
Simple CodeIgniter 4 JWT implementation.
Use following command to switch to CodeIgniter 3 branch
git checkout CI3
Clone this project on php server XAMPP/WAMP.
This project uses [Composer] (https://getcomposer.org/) as Dependency Manager
Use following command to auto install required dependencies
composer install
In /app/Config/Services.php
change secret key
at line 23
Run or Test code using Postman or any other Rest Client
composer require firebase/php-jwt
Copy app/Filters/AuthFilter.php
to your project
In /app/Config/Filters.php
add following line at the end of $aliases
array
'authFilter' => \App\Filters\AuthFilter::class,
Add following in $filters
array
'authFilter' => [
'before' => [
'api/user/*',
'api/user',
],
],
/app/Config/Routes.php
add routes to your Auth controller and resource$routes->resource('api/auth', ['controller' => 'Auth']);
$routes->resource('api/user', ['controller' => 'User']);
/app/Config/Services.php
add function to return secret keypublic static function getSecretKey()
{
return 'example_key';
}
AuthController
after validating login credentials$key = Services::getSecretKey();
$payload = array(
"iss" => "http://example.org",
"aud" => "http://example.com",
"iat" => 1356999524,
"nbf" => 1357000000
);
$jwt = JWT::encode($payload, $key);
Generate auth token using login credentials
URL: http://localhost/CodeIgniter-JWT-Sample/public/index.php/api/auth
Method: POST
Params type: x-www-form-urlencoded
Params: email:same_text
password:same_text
Access resource - User for this example
URL: http://localhost/CodeIgniter-JWT-Sample/public/index.php/api/user
Method: GET
Header Key: Authorization
Value: Bearer <Token value from above call>
[CodeIgniter 4] (https://www.codeigniter.com/)
[php-jwt] (https://github.com/firebase/php-jwt)
For any questions mail me [email protected]