회원 인증시, 사용자가 로그인을 하면, 서버는 사용자의 정보를 기반으로한 토큰을 발급한다.
사용자는 서버에 요청을 할때마다 JWT를 포함하여 전달하며,서버는 클라이언트에게서 요청을 받을때 마다, 해당 토큰이 유효하고 인증이 됬는지를 검증을 하고, 사용자가 요청한 작업에 권한이 있는지를 확인하여 작업을 처리한다.
서버에서는 사용자에 대한 세션을 유지할 필요가 없다. 사용자가 요청을 했을때 토큰만 확인하면 되므로, 세션관리가 필요없어서 서버자원과 비용을 절감할 수 있는 장점이 있다.
API는 프로그램들이 서로 상호작용하는 것을 도와주는 매개체.
즉,어떤 서버의 특정한 부분에 접속해서 그 안에 있는 데이터와 서비스를 이용할 수 있게 해주는 소프트웨어 도구라고 할수 있다.
REST API란?
:네트워크를 통해서 컴퓨터들끼리 통신할 수 있게 해주는 아키텍처 스타일을 말한다.
1.인터넷 식별자(URI)와 HTTP 프로토콜을 기반으로 한 단순함이 특징이다. 데이터 포맷으로는 브라우저 간 호환성이 좋은 제이슨(JSON)을 사용한다.
2.REST 방식의 API라면, 클라이언트-서버 모델로 구축되었다는 것을 의미하며, 정보의 페이로드(실제 전달하려는 내용)가 두 지점 사이를 왕복하게 된다,
3.REST API는 단일한 인터페이스를 사용한다.그렇기 때문에 해당 API를 사용하는 애플리케이션들이 동일한 경로를 통해서 접속해야 하고, 그 방식이 단순하게 된다.
:REST는 웹에 최적화되어 있고, 데이터 포맷이 JSON이기 때문에 브라우저들 간에 호환성이 좋다. 그래서 그 성능과 확장성이 뛰어난 것으로도 알려져 있다