로그인을 하기 위해서는 FE-BE간의 통신이 필요하다.
로그인에 성공하게 되면 로그인정보가 저장되어 있어야 로그인이 필요한 모든 페이지에 접근이 가능한데, HTTP 통신 특성(stateless)에따라 API를 호출 할 때마다 BE에게 로그인정보를 알려주어야하는 불편함이 있다.
때문에 로그인시, BE에서 로그인 권한에 대한 정보가 담긴 access token
을 FE에서 받아두고, 필요할 때마다 BE에 전달하여 로그인이 필요한 페이지에 접근하게된다.
id / pw으로 통신해도 되지만 보안상의 이유로 access token을 사용!
✅ 위 구조에서 볼수 있듯이, id/pw와 같은 개인정보를 담아 보내는것 보다 식별 id를 담은
access token
으로 통신하는 것이 보안상으로 안전하다.
Json Web Token
access token을 구현하는 방법에 여러가지가 있는데 그중 대표적인것이 JWT이다.
FE에서는 JWT를 저장해두고 로그인이 필요한 페이지의 API통신을 할 때, JWT를 담아보내면 BE에서 해당 정보를 JSON형식으로 응답한다.