1. Go to this page and download the library: Download codecasts/laravel-jwt library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
codecasts / laravel-jwt example snippets
'providers' => [
// ... other providers omitted
Codecasts\Auth\JWT\ServiceProvider::class,
],
'guards' => [
// ... other guards omitted.
'api' => [
'driver' => 'jwt', // this is the line you need to change.
'provider' => 'users',
],
],
public function tokenFromUser(Guard $auth)
{
// generating a token from a given user.
$user = SomeUserModel::find(12);
// logs in the user
$auth->login($user);
// get and return a new token
$token = $auth->issue();
return $token;
}
public function tokenFromCredentials(Guard $auth, Request $request)
{
// get some credentials
$credentials = $request->only(['email', 'password']);
if ($auth->attempt($credentials)) {
return $token = $auth->issue();
}
return ['Invalid Credentials'];
}
public function refreshToken(Guard $auth)
{
// auto detecting token from request.
$token = $auth->refresh();
// manually passing the token to be refreshed.
$token = $auth->refresh($oldToken);
return $token;
}
$customClaims = [
'custom1' => 'value1',
'custom2' => 'value2',
];
// when issuing
$auth->issue($customClaims);
// when refreshing
// custom claims are the second parameter as the first one is the
// old token
$auth->refresh(null, $customClaims);
class User extends Model implements Authenticatable
{
public function customJWTClaims()
{
return [
'email' => $this->email,
'name' => $this->name,
];
}
}