5 인증 프론트엔드 통합
프론트엔드에서의 인증
로그인
로그인 후 백엔드 서비스로부터 받은 토큰을 로컬 스코리지에 저장해 놓고 요청을 보낼 때마다 헤더에 Bearer 토큰으로 지정
회원가입
리디렉션
백엔드에 HTTP 요청을 보냈을 때 403이 리턴되면 로그인 페이지로 리디렉트
5.1 라우팅
5.1.1 react-router-dom
react-router-dom
npm install react-router-dom5.1.2 react-router-dom 라이브러리가 필요한 이유
5.1.3 로그인 컴포넌트
로그인 컴포넌트
AppRouter 컴포넌트
index.js 수정
5.1.4 접근 거부 시 로그인 페이지로 라우팅하기
ApiService
5.2 로그인 페이지
5.2.1 로그인을 위한 API 서비스 메서드 작성
ApiService
signin 함수
Login.js
5.2.2 로그인에 성공
ApiService
signin 함수
5.3 로컬 스토리지를 이용한 액세스 토큰 관리
5.3.1 로컬 스토리지
웹 스토리지
사용자의 브라우저에 데이터를 kwy-value 형태로 저장 가능 (쿠키와 비슷)
종류
세션 스토리지
브라우저를 닫으면 사라짐
로컬 스토리지
브라우저를 닫아도 사라지지 않음
개발자 도구 → Application → Storage → Local Storage, Session Storage, IndexedDB, Web SQL, Cookies
5.3.2 액세스 토큰 저장
로그인 시 받은 토큰을 로컬 스토리지에 저장
ApiService
signin function
모든 API의 헤더에 액세스 토큰을 추가
로그인에 관련되지 않은 모든 API 콜은 call 메서드를 통해 이루어지므로, 반복을 피하기 위해서는 call에 토큰이 존재하는 경우 헤더에 추가하는 로직 작성
ApiService
Header
5.4 로그아웃과 글리치 해결
5.4.1 로그아웃 서비스
ApiService
signout
5.4.2 내비게이션 바와 로그아웃
Add NavigationBar at App component
5.4.3 UI 글리치 해결
App.js
loading . .
5.5 계정 생성 페이지
5.5.1 계정 생성로직
ApiService
signup function
SignUp.js
AppRouter
SignUp
Login.js
Last updated