Agent Skills: Nuxt Authentication & Authorization

Authentication with Laravel Sanctum and permission-based authorization. Use when implementing login/logout, protecting pages with permissions, checking permissions in components, or understanding the auth flow.

UncategorizedID: leeovery/claude-nuxt/nuxt-auth

Skill Files

Browse the full folder contents for nuxt-auth.

Download Skill

Loading file tree…

skills/nuxt-auth/SKILL.md

Skill Metadata

Name
nuxt-auth
Description
Authentication with Laravel Sanctum and permission-based authorization. Use when implementing login/logout, protecting pages with permissions, checking permissions in components, or understanding the auth flow.

Nuxt Authentication & Authorization

Laravel Sanctum authentication with permission-based access control.

Core Concepts

auth.md - Complete auth patterns, permissions, page protection

Sanctum Setup

// nuxt.config.ts
export default defineNuxtConfig({
  modules: ['nuxt-auth-sanctum'],

  sanctum: {
    baseUrl: process.env.NUXT_PUBLIC_API_URL,
    endpoints: {
      login: '/auth/login',
      user: '/auth/user',
      csrf: '/sanctum/csrf-cookie',
      logout: '/auth/logout',
    },
    redirect: {
      onAuthOnly: '/auth/login',
      onGuestOnly: '/',
    },
  },
})

Auth Composable

const { user, isAuthenticated, login, logout, init } = useSanctumAuth()

// Login
await login({ email, password })

// Logout
await logout()

// Check auth
if (isAuthenticated.value) { /* ... */ }

Permission Checking

const { can, cannot } = usePermissions()

// Single permission
if (can('leads.create')) { /* ... */ }

// In templates
<UButton v-if="can('leads.create')" @click="createLead">Create</UButton>

Page Protection

definePageMeta({
  permissions: 'leads.list',
})