인증
인증 및 승인은 웹사이트 또는 앱에 대한 액세스를 관리하는 두 가지 보안 프로세스입니다. 인증은 방문자의 신원을 확인하는 반면, 승인은 보호 구역 및 자원에 대한 접근 권한을 부여합니다.
인증을 사용하면 사이트의 특정 영역을 로그인한 개인에 맞춰 사용자 정의할 수 있으며 개인 정보 또는 비공개 정보를 최대한 보호할 수 있습니다. 인증 라이브러리 (예: Lucia Auth, Auth.js, Clerk)는 이메일 로그인 및 OAuth 공급자와 같은 다양한 인증 방법을 위한 유틸리티를 제공합니다.
Astro에 대한 공식 인증 솔루션은 없지만 통합 디렉터리에서 커뮤니티 “인증” 통합을 찾을 수 있습니다.
Lucia
섹션 제목: LuciaLucia는 훌륭하게 Astro를 지원하는 프레임워크에 구애받지 않는 세션 기반 인증 라이브러리입니다.
원하는 패키지 관리자를 사용하여 Lucia를 설치하세요.
Lucia의 “Astro 시작하기” 가이드를 사용하여 Lucia를 어댑터로 초기화하고 사용자 및 세션을 저장할 데이터베이스를 설정하세요.
Lucia의 Astro 튜토리얼 중 하나를 따라 Astro 프로젝트에 사용자 이름 및 비밀번호 인증 또는 GitHub OAuth를 추가하세요.
다음 단계
섹션 제목: 다음 단계Auth.js
섹션 제목: Auth.jsAuth.js는 프레임워크에 구애받지 않는 인증 솔루션입니다. Astro용 커뮤니티 프레임워크 어댑터 auth-astro
를 사용할 수 있습니다.
선호하는 패키지 관리자로 astro add
명령을 사용하여 auth-astro
통합을 추가하세요.
수동 설치
섹션 제목: 수동 설치auth-astro
를 수동으로 설치하려면 패키지 관리자로 필요한 패키지를 설치하세요.
그런 다음 integrations
속성을 사용하여 astro.config.*
파일에 통합을 적용합니다.
프로젝트의 루트 디렉터리에 auth.config.mjs
파일을 생성합니다. 필요한 환경 변수와 함께 지원하려는 인증 공급자 또는 메서드를 추가하세요.
아직 존재하지 않는 경우 프로젝트 루트에 .env
파일을 생성합니다. 다음 두 가지 환경 변수를 추가합니다. AUTH_SECRET
은 최소 32자의 비공개 문자열이어야 합니다.
script 태그 또는 클라이언트 측 프레임워크 컴포넌트에서 auth-astro/client
모듈을 사용하여 로그인 및 로그아웃 버튼을 추가할 수 있습니다.
getSession
메서드를 사용하여 사용자 세션을 가져올 수 있습니다.
다음 단계
섹션 제목: 다음 단계Clerk
섹션 제목: ClerkClerk는 임베드 가능한 UI, 유연한 API, 관리자 대시보드로 구성된 완벽한 제품군으로 사용자를 인증하고 관리할 수 있습니다. Astro용 공식 Clerk SDK를 사용할 수 있습니다.
원하는 패키지 관리자를 사용하여 @clerk/astro
를 설치합니다.
Clerk의 자체 Astro 빠른 시작 가이드를 따라 Astro 프로젝트에서 Clerk 통합 및 미들웨어를 설정하세요.
Clerk는 사용자의 인증 상태에 따라 페이지의 표시 여부를 제어할 수 있는 컴포넌트를 제공합니다. 로그아웃한 사용자에게는 로그인한 사용자에게 제공되는 콘텐츠 대신 로그인 버튼을 표시합니다:
또한 Clerk를 사용하면 미들웨어를 통해 서버에서 경로를 보호할 수 있습니다. 보호할 경로를 지정하고 인증되지 않은 사용자에게 로그인하라는 메시지를 표시할 수 있습니다:
다음 단계
섹션 제목: 다음 단계- 공식
@clerk/astro
문서를 읽어보세요. - Clerk + Astro 빠른 시작 프로젝트 템플릿으로 시작하세요.