Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Workbook-api

JWT

화면 없이 AJAX와 JSON을 이용해 데이터를 주고 받는 구조에서는 HttpSession이나 쿠키를 이용하는 기존의 인증방식에 제한이 있다.

이를 해결하기 위해서 인증 받은 사용자들은 특정한 문자열(토큰)을 이용하게 됨 -> JWT(JSON Web Token) 임

api 서버는 요청에 대한 응답을 json으로 처리하는데 이때 인증(jwt)를 활용하게 됨

브라우저에 필요한 화면의 모든 코드(html)를 서버에서 만들어 전송하는 방식을 서버사이드렌더링(SSR)이라고 함.

: 쿠키와 세션을 이용해서 서버에서 사용자 정보를 추적할 수 있음.

: 쿠키 -> 쿠키를 발행한 서버를 호출 할 때만 전달되는 방식

: 세션 -> 서버 내부에 JSESSIONID와 같은 이름의 쿠키를 통해 사용자 정보를 보관

API 서버는 화면 구성은 별도의 클라이언트 프로그램에서 처리하고 서버에서는 순수한 데이터만 전송 클라이언트 사이드 렌터링(CSR) 이라고 함.

: 쿠키를 사용하지 않고 요청(request), 응답(response)에서 발생한 부수적인 결과를 유지하지 않음. (쿠키발행, 생성하지 않음)

클라이언트 사이드 렌터링(CSR) 방식은 클라이언트에서 데이터를 가공해서 화면에 보여주기 때문에 어떻게 구성해서 주고받을 것인지가 중요함

주로 json로 처리함. -> REST 방식 선호

API 서버는 화면을 구성하지 않고, 무상태(stateless) 라는 특징도 있음.

토큰 기반 인증

: 토큰은 입장권이라고 생각하면됨. 입장권 라벨에 성인,노약자등의 표식과 기간 등이 들어 있음.

: API 서버를 이용하고자 하는 사람들은 API 서버에서 토큰을 받아 보관하고 호출할 때 자신이 가지고 있는 토큰을 같이 전달해서 API 서버에서 이를 확인(인증, 인가)

Access Token

: 입장권에 해당하는 토큰 (특정자원에 접근할 권한이 있는지 검사)

: 해킹에 주의가 필요함. -> 최대한 유효기간을 짧게 지정(1일) -> Refresh Token(10일) 으로 재발급

: 현실적인 해결 법(문자인증, sns 인증 등...)

About

JWT

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages