Nuxt 인증을 Logto로 구축하기
Logto SDK를 통합하여 Nuxt로 사용자 인증 흐름을 구축하는 방법을 배워보세요.
시작하기
소개
- Logto는 아이덴티티 인프라를 구축하기 위한 오픈 소스 Auth0 대안입니다. 사용자 이름, 이메일, 전화번호 및 Google, GitHub와 같은 인기 있는 소셜 로그인 방법을 포함한 다양한 로그인 방법을 지원합니다.
- Nuxt 웹 개발을 직관적이고 강력하게 만들어주는 오픈 소스 프레임워크입니다.
이 튜토리얼에서는 Logto SDK를 통합하여 Nuxt로 사용자 인증 흐름을 구축하는 방법을 보여줍니다. 튜토리얼에서는 프로그래밍 언어로 TypeScript를 사용합니다.
사전 요구 사항
시작하기 전에 다음을 확인하십시오:
- Logto 계정. 계정이 없으면 무료로 가입할 수 있습니다.
- A Nuxt 개발 환경 및 프로젝트.
Logto 애플리케이션 만들기
시작하려면 "전통적인 웹" 유형의 Logto 애플리케이션을 만드십시오. Logto 애플리케이션을 만드는 단계는 다음과 같습니다:
- Logto 콘솔에 로그인합니다.
- 왼쪽 탐색 모음에서 애플리케이션을 클릭합니다.
- 애플리케이션 생성을 클릭합니다.
- 열린 페이지에서 "전통적인 웹" 섹션을 찾아 "Nuxt" 카드를 찾습니다.
- 구축 시작을 클릭하고 애플리케이션 이름을 입력합니다.
- 생성을 클릭합니다.
그런 다음 Nuxt 애플리케이션과 Logto SDK를 통합하는 과정을 안내하는 대화형 가이드를 볼 수 있습니다. 다음 내용은 향후 참고 자료로 사용할 수 있습니다.
Logto SDK 통합하기
설치
선호하는 패키지 관리자를 통해 Logto SDK를 설치하세요:
Logto 모듈 등록하기
Nuxt 구성 파일(nuxt.config.ts
)에 Logto 모듈을 추가하세요:
모듈의 최소 구성은 다음과 같습니다:
이 정보들은 민감하기 때문에 환경 변수를 사용하는 것을 권장합니다:
추가 정보는 runtime config를 참조하세요.
로그인 및 로그아웃 구현하기
리디렉션 URI 구성
Logto 콘솔의 애플리케이션 세부 정보 페이지로 전환합니다. 리디렉션 URI http://localhost:3000/callback
을 추가합니다.
리디렉션 URI는 인증 후 리디렉션할 위치를 나타내는 OAuth 2.0 개념입니다.
마찬가지로, "로그아웃 후 리디렉션 URI" 섹션에 http://localhost:3000/
을 추가합니다.
로그아웃 후 리디렉션 URI는 로그아웃 후 리디렉션할 위치를 나타내는 OAuth 2.0 개념입니다.
그런 다음 "저장"을 클릭하여 변경 사항을 저장합니다.
@logto/nuxt
모듈을 등록할 때 다음을 수행합니다:
- 로그인(
/sign-in
), 로그아웃(/sign-out
), 그리고 콜백(/callback
)을 위한 세 가지 라우트를 추가합니다. - 두 가지 composables을 가져옵니 다:
useLogtoClient
와useLogtoUser
.
이 라우트는 모듈 옵션에서 logto.pathnames
를 통해 구성할 수 있습니다. 예를 들어:
자세한 정보는 @logto/nuxt
패키지의 타입 정의 파일을 확인하세요.
Nuxt 페이지는 초기 로드 후 SPA로 변환되므로, 필요할 때 사용자를 로그인 또는 로그아웃 라우트로 리디렉션해야 합니다.
사용자 정보 표시하기
사용자의 정보를 표시하려면 서버 및 클라이언트 측에서 사용할 수 있는 useLogtoUser()
composable을 사용할 수 있습니다:
체크포인트: 애플리케이션 실행하기
이제 애플리케이션을 실행하고 Logto로 로그인/로그아웃을 시도할 수 있습니다:
- 브라우저에서 애플리케이션을 열면 "로그인" 버튼이 표시될 것입니다.
- "로그인" 버튼을 클릭하면 Logto 로그인 페이지로 리디렉션됩니다.
- 로그인한 후 애플리케이션으로 다시 리디렉션되며 사용자 데이터와 "로그아웃" 버튼이 표시될 것입니다.
- "로그아웃" 버튼을 클릭하면 Logto 로그아웃 페이지로 리디렉션된 다음 로그인되지 않은 상태로 애플리케이션으로 다시 리디렉션됩니다.
통합 중 문제가 발생하면 Discord 서버에 가입하여 커뮤니티 및 Logto 팀과 채팅하십시오!