이 튜토리얼에서는 암호키 인증을 Nuxt.js 애플리케이션에 통합하는 과정을 안내합니다. 원활한 비밀번호 로그인 경험을 위해 Nuxt.js 프로젝트 설정부터 Corbado UI 구성요소 구현까지 모든 것을 다룹니다.
코드로 바로 이동하려는 경우 GitHub 저장소에서 전체 예제를 찾을 수 있습니다.
여기에서 전체 블로그 게시물을 읽어보세요
구현을 시작하기 전에 Nuxt.js, HTML, CSS 및 JavaScript에 대한 기본적인 이해가 있는지 확인하세요. 또한 개발 컴퓨터에 Node.js 및 NPM이 설치되어 있어야 합니다.
다음은 Nuxt.js 프로젝트 구조에 대한 간단한 개요입니다.
. ├── .env ├── package.json ├── nuxt.config.ts ├── pages | ├── index.vue | └── profile.vue └── layouts └── default.vue
이러한 구조는 패스키 인증 구현의 기반이 됩니다.
시작하려면 새 Nuxt.js 프로젝트를 초기화하세요
npx nuxi@latest init passkeys-demo-nuxtjs cd passkeys-demo-nuxtjs npm install npm run dev
이렇게 하면 http://localhost:3000에서 애플리케이션이 시작됩니다.
먼저 개발자 패널을 통해 Corbado 계정에 가입하세요. 설정 중에 제품으로 "Corbado Complete"를 선택하고 프레임워크로 "Nuxt.js"를 지정하세요. 로컬 개발 환경에 따라 애플리케이션 URL과 신뢰 당사자 ID를 구성하세요.
Corbado 개발자 패널에서 검색할 수 있는 프로젝트 ID로 .env 파일을 업데이트하세요.
VITE_CORBADO_PROJECT_ID=<your-project-id>
Corbado web-js 라이브러리 설치:
npm i @corbado/web-js npm i -D @corbado/types
다음으로 /layouts/default.vue에서 레이아웃을 설정하여 Corbado 프로젝트를 초기화하세요.
<script setup lang="ts"> import Corbado from "@corbado/web-js" import { onMounted } from "vue";const isInitialized = useState('isInitialized', () => false); const projectId = import.meta.env.VITE_CORBADO_PROJECT_ID; onMounted(async () => { await Corbado.load({ projectId: projectId, darkMode: "off" }); isInitialized.value = true; }); </script> <template> <div v-if="isInitialized"> <slot/> </div> </template>
이 설정을 사용하면 구성 요소를 렌더링하기 전에 Corbado 프로젝트가 초기화됩니다.
이제 /pages/index.vue에 로그인 페이지를 만들어 보겠습니다.
<script setup lang="ts"> import Corbado from "@corbado/web-js" import { onMounted } from "vue";const authElement = useState<HTMLDivElement | undefined>('authElement', () => undefined); onMounted(() => { if (authElement.value) { Corbado.mountAuthUI(authElement.value, { onLoggedIn: () => { navigateTo("/profile"); }, }); } }); </script> <template> <div ref="authElement"></div> </template>
이 코드 조각은 인증 UI를 설정하고 로그인 성공 후 리디렉션을 처리합니다.
로그인하면 사용자는 /pages/profile.vue에 생성할 프로필 페이지로 리디렉션됩니다.
<script setup lang="ts"> import Corbado from "@corbado/web-js"const user = Corbado.user; async function handleLogout() { await Corbado.logout(); await navigateTo("/"); } </script> <template> <div> <div v-if="user"> <h1>Profile Page</h1> <p> User-ID: {{ user.sub }} <br /> Email: {{ user.email }} </p> <button @click="handleLogout">Logout</button> </div> <div v-else> <p>You're not logged in.</p> <p> Please go back to <NuxtLink href="/">home</NuxtLink> to log in. </p> </div> </div> </template>
이 페이지에는 인증 성공 후 사용자 정보가 표시되며 로그아웃 버튼이 포함되어 있습니다.
다음을 사용하여 애플리케이션을 실행하세요.
npm run dev
이 가이드에서는 Corbado의 UI 구성 요소를 사용하여 Nuxt.js 애플리케이션에서 암호 키 기반 인증을 구현하는 방법을 시연했습니다. 이 설정을 사용하면 웹 애플리케이션에서 안전하고 사용자 친화적인 로그인 환경을 제공할 수 있습니다. 세션 관리 및 기타 기능에 대한 자세한 내용은 Corbado 설명서 또는 전체 블로그 게시물을 참조하세요.
다음 단계를 따르면 현대적인 비밀번호 없는 인증으로 Nuxt.js 애플리케이션의 보안을 강화할 수 있습니다.
위 내용은 튜토리얼: 암호키를 Nuxt.js에 통합하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!