larahook/sanctum-refresh-token

Sanctum authentication with refresh token
5,062 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

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
starling/token-auth

Improved JWT authentication flow for Laravel 5

37 2
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