larahook/sanctum-refresh-token

Sanctum authentication with refresh token
5,270 3
Install
composer require larahook/sanctum-refresh-token
Latest Version:v1.0.12
PHP:^8.0
License:MIT
Last Updated:Mar 24, 2026
Links: GitHub  ·  Packagist
Maintainer: Mishanki

Laravel sanctum authentication with refresh token

Install

composer require larahook/sanctum-refresh-token
  • Add Trait in User model class.
use Larahook\SanctumRefreshToken\Trait\HasApiTokens;

class User extends Authenticatable
{
    use HasApiTokens;
}
  • Add SanctumRefreshTokenServiceProvider in config/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 - create access_token and refresh_token
  • refreshTokenPair - unlink current token pair and create new access_token and refresh_token
  • logoutTokenPair - 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

cline/bearer

Stripe-style typed API tokens with groups, environments, and audit logging for L...

11,958 0
hasinhayder/tyro

Tyro is a complete Authentication, Authorization, and Role & Privilege (RBAC/ACL...

8,117 685
marufsharia/hyro

Hyro is a modular Laravel RBAC ecosystem featuring advanced role-permission mana...

17 0
tymon/jwt-auth

JSON Web Token Authentication for Laravel and Lumen

54,856,775 11,494
vinkas/firebase-auth-laravel

Firebase Authentication package for Laravel PHP Framework

2,082 39

Version History

Version Released PHP Laravel License
v1.0.12 ^8.0 ^10.0|^11.0|^12.0|^13.0 MIT
v1.0.11 ^8.0 ^10.0|^11.0|^12.0 MIT
v1.0.10 ^8.0 ^10.0|^11.0|^12.0 MIT
v1.0.9 ^8.0 ^10.0|^11.0|^12.0 MIT
v1.0.8 ^8.0 ^10.0|^11.0 MIT