A Laravel Vue Single Page Application starter kit.
- Laravel 8
- Vue + VueRouter
- Pages with dynamic import
- Login Page
- Laravel Sanctum
- Token Based Authentication
- Tailwind V2 Integration
- Socialite integration
- Vuex
-
composer create-project --prefer-dist laravel/laravel projectname
-
composer require laravel/sanctum laravel/ui
-
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
-
Edit
.env
and set your database connection details -
php artisan migrate
-
Open
app/Http/Kernel.php
& update the following-
'api' => [ \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class, 'throttle:api', \Illuminate\Routing\Middleware\SubstituteBindings::class, ],
-
-
Open
App\Models\User
& update the following-
use Laravel\Sanctum\HasApiTokens; class User extends Authenticatable { use HasApiTokens, HasFactory, Notifiable; }
-
-
On Login, Use the following code to generate token for a user
-
use Illuminate\Http\Request; Route::post('/tokens/create', function (Request $request) { $token = $request->user()->createToken($request->token_name); return ['token' => $token->plainTextToken]; });
-
-
On Logout, Use the following
-
$request->user()->currentAccessToken()->delete();
-
-
To Logout from all devices, Use the following
-
$user->tokens()->delete();
-
-
npm install
-
php artisan serve
# Build and watch
npm run watch
# Serve with hot reloading
npm run hot
npm run production