Claude Code Plugins

Community-maintained marketplace

Feedback

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.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

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',
})