onmax/nuxt-better-auth

Use ao implementar autenticação em aplicações Nuxt com @onmax/nuxt-better-auth - fornece o composable useUserSession, helpers de autenticação do servidor, proteção de rotas e integração com plugins do Better Auth.

O que é nuxt-better-auth?

Esta skill é um guia detalhado para implementar autenticação em aplicações Nuxt usando a biblioteca @onmax/nuxt-better-auth. Ela é útil para desenvolvedores que desejam adicionar login, gerenciamento de sessão e proteção de rotas de forma eficiente, aproveitando o ecossistema Nuxt. A skill cobre o uso de composables como useUserSession para acessar dados do usuário e helpers de autenticação no lado do servidor, além de explicar a integração com plugins populares do Better Auth. Ao seguir este recurso, os desenvolvedores podem configurar rapidamente autenticação segura e funcionalidades como registro, login, logout e verificação de sessão, tudo com suporte a TypeScript e SSR.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/onmax/nuxt-skills/tree/main/skills/nuxt-better-auth

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que nuxt-better-auth faz?

Use ao implementar autenticação em aplicações Nuxt com @onmax/nuxt-better-auth - fornece o composable useUserSession, helpers de autenticação do servidor, proteção de rotas e integração com plugins do Better Auth.

Funcionalidades

  • Composable useUserSession: Acessa dados da sessão do usuário de forma reativa.
  • Helpers do servidor: Funções para proteger rotas de API e verificar autenticação.
  • Proteção de rotas: Middleware para proteger páginas inteiras da aplicação.
  • Integração com plugins: Suporte para plugins do Better Auth como better-auth-plugins.

Instalação

npm install @onmax/nuxt-better-auth

Configuração

Adicione ao nuxt.config.ts:

export default defineNuxtConfig({
  modules: ['@onmax/nuxt-better-auth'],
  betterAuth: {
    // opções de configuração
  }
})

Uso

No lado do cliente

<script setup lang="ts">
const { user, session, isAuthenticated, login, logout } = useUserSession()

async function handleLogin() {
  await login({ email: '[email protected]', password: 'password' })
}
</script>

No lado do servidor

export default defineEventHandler(async (event) => {
  const session = await getUserSession(event)
  if (!session) {
    throw createError({ statusCode: 401, statusMessage: 'Unauthorized' })
  }
  return { user: session.user }
})

Proteção de rotas

Use o middleware auth para proteger rotas:

// middleware/auth.global.ts
export default defineNuxtRouteMiddleware(async (to) => {
  const { isAuthenticated } = useUserSession()
  
  if (!isAuthenticated.value && to.path !== '/login') {
    return navigateTo('/login')
  }
})

Integração com plugins

A biblioteca suporta plugins do Better Auth. Exemplo com o plugin better-auth-plugins:

import { createBetterAuth } from 'better-auth'
import { magicLinkPlugin } from 'better-auth-plugins'

const auth = createBetterAuth({
  plugins: [
    magicLinkPlugin()
  ]
})

Documentação completa

Veja a documentação oficial para mais detalhes.

Individual skills in this repo

This repo contains 15 individual skills — each has its own dedicated page.

onmax/document-writer

Use when writing blog posts or documentation markdown files - provides writing style guide (active voice, present tense), content structure patterns, and MDC component usage. Overrides brevity rules for proper grammar. Use nuxt-content for MDC syntax, nuxt-ui for component props.

onmax/motion

Use when adding animations with Motion Vue (motion-v) - provides motion component API, gesture animations, scroll-linked effects, layout transitions, and composables for Vue 3/Nuxt

onmax/nuxt

Use when working on Nuxt 4+ projects - provides server routes, file-based routing, middleware patterns, Nuxt-specific composables, and configuration with latest docs. Covers h3 v1 helpers (validation, WebSocket, SSE) and nitropack v2 patterns. Updated for Nuxt 4.3+.

onmax/nuxt-content

Use when working with Nuxt Content v3, markdown content, or CMS features in Nuxt - provides collections (local/remote/API sources), queryCollection API, MDC rendering, database configuration, NuxtStudio integration, hooks, i18n patterns, and LLMs integration

onmax/nuxthub

Use when building NuxtHub v0.10.6 applications - provides database (Drizzle ORM with sqlite/postgresql/mysql), KV storage, blob storage, and cache APIs. Covers configuration, schema definition, migrations, multi-cloud deployment (Cloudflare, Vercel), and the new hub:db, hub:kv, hub:blob virtual module imports.

onmax/nuxt-modules

Use when creating Nuxt modules: (1) Published npm modules (@nuxtjs/, nuxt-), (2) Local project modules (modules/ directory), (3) Runtime extensions (components, composables, plugins), (4) Server extensions (API routes, middleware), (5) Releasing/publishing modules to npm, (6) Setting up CI/CD workflows for modules. Provides defineNuxtModule patterns, Kit utilities, hooks, E2E testing, and release automation.

onmax/nuxt-seo

Nuxt SEO meta-module with robots, sitemap, og-image, schema-org. Use when configuring SEO, generating sitemaps, creating OG images, or adding structured data.

onmax/nuxt-ui

Use when building styled UI with @nuxt/ui v4 components - create forms with validation, implement data tables with sorting, build modal dialogs and overlays, configure Tailwind Variants theming. Use vue skill for raw component patterns, reka-ui for headless primitives.

onmax/pnpm

Use when managing Node.js dependencies with pnpm - install packages, configure monorepo workspaces, set up pnpm catalogs, resolve dependency conflicts with overrides, patch third-party packages, and configure CI pipelines for pnpm projects

onmax/reka-ui

Use when building with Reka UI (headless Vue components) - provides component API, accessibility patterns, composition (asChild), controlled/uncontrolled state, virtualization, and styling integration. Formerly Radix Vue.

onmax/ts-library

Use when authoring TypeScript libraries or npm packages - covers project setup, package.json exports, build tooling (tsdown/unbuild), API design patterns, type inference tricks, testing, and publishing to npm. Use when bundling, configuring dual CJS/ESM output, or setting up release workflows.

onmax/vite

Vite build tool configuration, plugin API, SSR, and Vite 8 Rolldown migration. Use when working with Vite projects, vite.config.ts, Vite plugins, or building libraries/SSR apps with Vite.

onmax/vitest

Use when writing unit/integration tests for Vite projects - configure vitest.config.ts, write test suites with describe/it, create mock implementations with vi.fn and vi.mock, set up code coverage thresholds, and run tests in parallel

onmax/vue

Use when editing .vue files, creating Vue 3 components, writing composables, or testing Vue code - provides Composition API patterns, props/emits best practices, VueUse integration, and reactive destructuring guidance

onmax/vueuse

Use when working with VueUse composables - track mouse position with useMouse, manage localStorage with useStorage, detect network status with useNetwork, debounce values with refDebounced, and access browser APIs reactively. Check VueUse before writing custom composables - most patterns already implemented.

Habilidades Relacionadas