Passport.js 를 Logto 와 통합하기
Passport.js 를 Logto 와 통합하는 실습 가이드 및 예제입니다.
Passport.js 는 Node.js 의 인증 미들웨어로, Express 기반의 웹 애플리케이션에 손쉽게 통합할 수 있습니다. 이 포괄적인 가이드는 passport-openidconnect
플러그인을 활용하여 Passport.js 에 Logto 를 통합하는 간단하면서도 효과적인 방법에 중점을 둡니다. 튜토리얼 전반에 걸쳐 Express.js 를 사용하여 애플리케이션을 구축할 것입니다. 논의할 모든 코드는 공개 GitHub 저장소에서 확인하실 수 있습니다.
세션이 포함된 express 설정하기
통합 과정에 들어가기 전에, Express.js 및 그 세션 미들웨어를 설치하여 기본 프로젝트를 설정해야 합니다.
TypeScript 프로젝트 환경이 준비되었다고 가정하고 (만약 준비되지 않았다면 공식 TypeScript 문서를 참조하세요), 필요한 패키지를 설치하세요:
메인 파일 준비하기
다음 코드를 사용하여 src/app.ts
를 생성하세요:
이 스크립트는 Express 앱을 초기화하고 Passport.js 에서 인증 결과를 저장하는 데 중요한 쿠키 기반 세션 관리를 위해 cookieParser
및 session
미들웨어를 구성합니다. 그런 다음 http
모듈을 사용하여 서비스를 시작합니다.
Logto 애플리케이션 생성하기
진행하기 위해서는 Logto 애플리케이션이 필요합니다. Logto 콘솔를 방문하여 ‘Applications’로 이동한 다음 “Create application”을 클릭하여 애플리케이션을 생성하세요. “Express”를 선택하고 애플리케이션 이름을 입력한 후 “Create application”을 클릭하세요.
생성 가이드를 완료하거나 읽은 후에는 다음 단계에 대한 구성 정보가 포함된 세부 페이지를 찾을 수 있습니다.
URI 설정
애플리케이션 세부정보 페이지에서 두 가지 값을 구성하세요:
- 리다이렉트 URI: 프로젝트의 콜백 경로와 맞추기 위해
http://localhost:3000/callback
으로 설정하세요. - 로그아웃 후 리다이렉트 URI: 간단하게, 사용자가 로그아웃 후 홈페이지로 리다이렉트되도록
http://localhost:3000
을 사용하세요.
이 값들은 나중에 변경할 수 있습니다.