New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

larahook/sanctum-refresh-token

Sanctum authentication with refresh token
5,431 3
Install
composer require larahook/sanctum-refresh-token
Latest Version:v1.0.12
PHP:^8.0
Laravel:10 – 13
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...

13,117 0
intervention/httpauth

HTTP Authentication Management for PHP

14,457,104 83
custom-d/api-authentication

A api authentication

11,617
nachofassini/laravel-ext-auth

Extend laravel default authentication

15 0
kalfheim/session-tokens

Unique, revokable "remember me" tokens for Laravel

7 0

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