Laravel sanctum from version 3 has expire_at
column.
while creating token you can pass third arg as expire time.
$user->createToken('device_name', ['*'], Carbon::now()->addHours(2))->plainTextToken;
After that create middleware in laravel in order to updated expire_at
column
public function handle(Request $request, Closure $next): Response
{
$user = $request->user();
if( $user ):
$token = $user->currentAccessToken();
$token->forceFill([
'expires_at' => Carbon::now()->addHours(2)
])->save();
endif;
return $next($request);
}
Add your middleware in Kernal.php $middlewareGroups api section.
In above example token will expiry after two hours of user last activity.