SDK

Nuxt SDK

@authon/nuxtSSR 지원, 라우트 미들웨어, 서버 측 유틸리티를 갖춘 Nuxt 3 모듈.

설치

bash
npm install @authon/nuxt

모듈 설정

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"],
  },
});

환경 변수

.env
AUTHON_PUBLISHABLE_KEY=pk_live_your_key
AUTHON_SECRET_KEY=sk_live_your_key

페이지에서 사용

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/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 — 범용 인증 플랫폼