SDK

Nuxt SDK

@authon/nuxtNuxt 3 module for Authon with SSR support, route middleware, and server-side utilities.

Installation

bash
npm install @authon/nuxt

Module Setup

nuxt.config.ts
export default defineNuxtConfig({
  modules: ["@authon/nuxt"],

  authon: {
    publishableKey: process.env.AUTHON_PUBLISHABLE_KEY,
    secretKey: process.env.AUTHON_SECRET_KEY,
    // Redirect unauthenticated users to /sign-in
    redirectTo: "/sign-in",
    // Routes that don't require auth
    publicRoutes: ["/", "/about", "/pricing"],
  },
});

Environment

.env
AUTHON_PUBLISHABLE_KEY=pk_live_your_key
AUTHON_SECRET_KEY=sk_live_your_key

Usage in Pages

pages/dashboard.vue
<template>
  <div>
    <AuthonSignedIn>
      <h1>Welcome, {{ user?.displayName }}</h1>
      <AuthonUserButton />
    </AuthonSignedIn>
  </div>
</template>

<script setup lang="ts">
definePageMeta({ middleware: "authon" });

const { user } = useAuthonUser();
</script>

Server-side Auth

server/api/protected.get.ts
import { requireAuthon } from "@authon/nuxt/server";

export default defineEventHandler(async (event) => {
  const user = await requireAuthon(event);
  // Throws 401 if not authenticated

  return {
    message: `Hello, ${user.email}!`,
    userId: user.id,
  };
});
Authon — Universal Authentication Platform