



MSA 형태의 문제점
- Monolithic 형태의 Web Application 은 인증 및 인가를 한 서버내에서 모두 처리한다.
- 인증/인가와 관련된 이슈가 존재하지 않는다.
- MSA 형태의 Web Application 은 한 번의 인증으로 여러 서버와 통신을 해야 한다.
- 인증 동기화의 문제가 발생한다.
- 인증만 처리하는 인증 서버가 필요하다.
- JSON 형태의 인증 정보를 클라이언트와 서버가 주고 받는다. (Json Web Token)
JWT 의 특징
- 무상태성
- HttpSession 은 서버에 사용자 정보를 저장하는 방법이다.
- Token 방식은 서버가 사용자의 정보를 Token 이라는 형태로 클라이언트에게 전송한다.
- 서버는 사용자의 정보를 가지지 않는다.
- 확장성
- JWT 는 서버가 사용자의 정보를 가지지 않기 때문에, 다른 서버의 API 를 사용할 때에도 동일한 토큰으로 인증을 처리할 수 있다.
- 서비스를 위한 서버를 추가하더라도 인증과 관련된 이슈가 존재하지 않는다.
- 무결성
- 토큰을 발급 받은 이후부터 토큰 정보를 변경할 수 없다.
- 악의적인 사용자가 토큰을 한 글자라도 변경할 경우, 인증 서버에서는 유효하지 않은 토큰으로 처리하게 된다.
API 와 Ajax 의 큰 차이
- Ajax 는 파라미터를 전부 Form 데이터로 주고 받는다. (객체리터럴이지만 내부에서 Form 데이터로 모두 바뀐다.)
- Ajax 는 브라우저에서 호출하는 방식을 사용한다.
- 서버에서 인증을 수행한다.
- API 는 브라우저에서 하는 요청이 아니다.
- 인증의 주체가 서버가 아니라 클라이언트이다.
- JSON 데이터로만 주고 받는다.
Postman