larahook/sanctum-refresh-token
Laravel sanctum authentication with refresh token
Install
composer require larahook/sanctum-refresh-token
- Add Trait in
Usermodel class.
use Larahook\SanctumRefreshToken\Trait\HasApiTokens;
class User extends Authenticatable
{
use HasApiTokens;
}
- Add
SanctumRefreshTokenServiceProviderinconfig/app.php
'providers' => ServiceProvider::defaultProviders()->merge([
//...
EventServiceProvider::class,
RouteServiceProvider::class,
SanctumRefreshTokenServiceProvider::class,
])->toArray(),
Config
- You can also publish the config file to change implementations
php artisan vendor:publish --provider="Larahook\SanctumRefreshToken\SanctumRefreshTokenServiceProvider" --tag=config
Migration
- Install migrations
php artisan vendor:publish --provider="Larahook\SanctumRefreshToken\SanctumRefreshTokenServiceProvider" --tag=migrations
php artisan migrate
Usage
Add trait AuthTokens
createTokenPair- createaccess_tokenandrefresh_tokenrefreshTokenPair- unlink current token pair and create newaccess_tokenandrefresh_tokenlogoutTokenPair- unlink current token pair
use Larahook\SanctumRefreshToken\Trait\AuthTokens;
class SomeClass
{
use AuthTokens;
public function login(string $email, string $password, string $deviceName): array
{
$user = User::whereEmail($email)->first();
// ...some login pass validation
return $this->createTokenPair($user, $deviceName);
}
/**
* @param User $user
*
* @return array
*/
public function refresh(User $user): array
{
return $this->refreshTokenPair($user);
}
/**
* @param User $user
*
* @return bool
*/
public function logout(User $user): bool
{
return $this->logoutTokenPair($user);
}
}
Related Packages
hasinhayder/tyro
Tyro is a complete Authentication, Authorization, and Role & Privilege (RBAC/ACL...
7,280
684
cline/bearer
Stripe-style typed API tokens with groups, environments, and audit logging for L...
10,739
0
marufsharia/hyro
Hyro is a modular Laravel RBAC ecosystem featuring advanced role-permission mana...
16
0
johnturingan/laravel-jwt-auth
JSON Web Token Authentication for Laravel 4 and 5. Modification from Tymon's jwt...
4,455
0