Integration Recipes

Cookbook & Examples

Production-tested integration recipes for Laravel Sanctum, custom JWT backends, SSR dashboards, and device management.

Laravel Sanctum / Passport API Integration

Connect a Laravel backend issuing plain text API tokens via Sanctum.

Nuxt Configuration / Frontend
typescript
// nuxt.config.ts
export default defineNuxtConfig({
  modules: ['nuxt-bearer-auth'],

  bearerAuth: {
    apiBaseUrl: 'https://api.myapp.com/api',
    redisUrl: process.env.REDIS_URL || 'redis://127.0.0.1:6379',

    endpoints: {
      login: 'auth/login',
      logout: 'auth/logout',
      me: 'auth/user',
      register: 'auth/register',
    },

    responsePaths: {
      token: ['data.token', 'token'],
      user: ['data.user', 'user'],
    },
  },
})
Backend / Server Route
typescript
// app/Http/Controllers/AuthController.php (Laravel)
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class AuthController extends Controller
{
    public function login(Request $request)
    {
        $credentials = $request->validate([
            'email' => 'required|email',
            'password' => 'required',
        ]);

        if (!Auth::attempt($credentials)) {
            return response()->json(['message' => 'Invalid credentials'], 401);
        }

        $user = Auth::user();
        $token = $user->createToken('nuxt-session')->plainTextToken;

        return response()->json([
            'success' => true,
            'data' => [
                'token' => $token,
                'user' => $user,
            ],
        ]);
    }
}