AuthenticationPrincipal을 사용하고 SecurityContext에 등록한다
정리
사용자 관리를 위한 User레이어를 구현한다.
모든 요청마다 한 번씩 사용자를 인증하기 위해 스프링 시큐리티가 제공하는 onceperrequestfilter를 상속해 jwtauthenticationfilter를 작성 했고, websecurityconfigureradapter를 상속해 어떤 경로는 인증해야하고 어떤 경로는 인증하지 않아도 되는지 어느 지점에서 filter를 실행할지도 설정 한
5장(프론트엔드 통합)
로그인 후 백엔드 서비스에게 받은 토큰을 어딘가에 저장해 놓고 HTTP요청을 보낼때마다 헤더에 Bearer토큰으로 지정해줘야 한다. 로그인 후 토큰을 저장할 로컬 스토리지 저장하는 로직을 구현한다
터미널
npm install react-router-dom
서버는 주소의 경로에 포함된 /login을 보고 login.html을 반환한다. 브라우저는 받은 login.html을 렌더링 하고 그 과정에서 웹페이지가 새로고침 된다. 이런 라우팅을 서버-사이드 라우팅이라고 한다. 스탠더드 라우팅 방법이 가작 익숙한 라우팅 방법 이다
클라이언트-사이드 라우팅
서버로 어떤 요청도 날리지 않는다 모든 라우팅은 클라이언트 코드, 자바스크립트가 해결한다
BrowserRouter
브라우저가 관리하는 히스토리를 사용해 브라우저와 리액트 사이의 URL을 동기화하므로 그런 문제가 발생하지 않는다
Routers
여러개의 Route를 관리하고 실제로 가장 적합한 Route를 찾아주는 컴포넌트이다
Route
실제 경로를 지정해주기 위한 컴포넌트이다
로컬스토리지를 이용한 액세스 토큰 관리
어디엔가 엑세스 토큰을 저장하고, 백엔드 서비스에 HTTP 요청을 보낼때 이 토큰을 요청에 동봉해야 한다