-
TypeError: req.session.regenerate is not a function using PassportReact 2023. 1. 29. 19:20반응형
Passport는 React 응용 프로그램에서 사용할 수 있는 Node.js용으로 널리 사용되는 인증 미들웨어입니다. OAuth 비롯한 여러 인증 전략을 지원합니다. 사용자 인증 및 API 보안에 사용할 수 있습니다. React 응용 프로그램에 Passport를 통합하려면 Node.js 서버에서 Passport 미들웨어를 설정하고 인증 전략을 구성한 다음 React 구성 요소에서 인증 및 권한 부여 흐름을 처리해야 합니다.
아래는 구글 이메일을 통한 인증을 하는 방법입니다.
- Google Developer Console에서 새 프로젝트를 설정하고 Google Sign-In API를 구성합니다.
- Node.js 서버에 passport-google-oauth20 라이브러리를 설치합니다.
npm install passport-google-oauth20
- Google Developer Console에서 가져온 클라이언트 ID 및 암호를 사용하여 키를 설정합니다.
- React 구성 요소에서 사용자를 Google 로그인 페이지로 리디렉션하고, Google에서 콜백을 처리하고, 프로그램에 인증 정보를 저장하여 인증 및 권한 부여 흐름을 처리합니다.
https://www.passportjs.org/packages/passport-google-oauth20/
설명서를 따라하여 코드를 작성하여 실행 하면 아래와 같은 에러메세지를 만나게 됩니다.
TypeError: req.session.regenerate is not a function using Passport
여러모로 삽질을 하다가 구글링에서 아래와 같은 자료를 찾았습니다.
Passport v.0.6.0 is currently broken due to an incompatibility:
최신버전에서 버그가 있는것 같다. 그래서 아래와 같이 현재 버전을 제거하고 v0.5로 재설치했습니다.
npm uninstall passport npm install passport@0.5
이렇게 하고 재 실행하니 구글 이메일로 인증이 정상적으로 되었습니다.
외부인증을 통한 로그인은 여러 장점이 있다.그중에 하나가 개인정보를 내 데이터베이스에 저장할 필요가 없다는 것이다.
아무튼 힘들게 로그인 성공...개발은 쉽지 않다....^^
반응형'React' 카테고리의 다른 글
You are running `create-react-app` 4.0.3, which is behind the latest release (5.0.0) 오류 (0) 2023.01.28 나만의 홈페이지 만들기-09 [Nav&Footer&Profile] (0) 2023.01.18 나만의 홈페이지 만들기-08 [카드리스트&디테일페이지] (0) 2023.01.17 나만의 홈페이지 만들기-07 [마스터페이지&페이지Route] (0) 2022.10.04 나만의 홈페이지 만들기-06 [파라미터 props 전달하기] (0) 2022.09.08