될때까지

개념정리 :: JWT? 본문

학습/개념정리

개념정리 :: JWT?

랖니 2022. 2. 22. 22:18
728x90
이 블로그에 정리되어있는 모든 개념들은 학습 개념으로 혼자 정리한 내용입니다.
잘못 기술한 부분이 있을 수 있으니 발견하시면 언제든지 지적해주세요😄

 

Json Web Token : 인가를 위해 사용하는 토큰이다. 사용자가 로그인을 하면 토큰을 건네준다. 토큰은 인코딩이나 암호화된 3가지 데이터를 이어붙인 하나의 string으로 생겼다. 건네지는 이 토큰을 반 찢어서 사용자 반, 서버 반 나눠가져서 나중에 둘이 합쳐서 응 사용자 맞네 아니네를 비교하는게 아니라 그냥 토큰 자체를 사용자에게 건너주기 때문에 서버가 사용자의 토큰값을 기억하고 있지 않다. 요청이 들어오면 해당 토큰의 유효여부만 체크하면 된다. 토큰방식 말고 세션 방식도 있는데, 이는 사용자의 정보를 서버가 갖고 있는 것을 말한다. 반 쭉 찢어서 서버도 이를 갖고 있어야 하기 때문에 저장하고 유지할 공간이 필요하다.

그렇다면 JSON은 뭘까? JSON(JavaScript Object Notation) : 자바스크립트에서 데이터를 표현할 때 사용하는 방법이다. 하지만, key와 value로 이루어져 있어서 사람과 기계 모두 읽고 쓰기에 용이한 데이터 구조다 보니 다른 환경에서도 데이터를 주고 받는 방식으로 많이 채택되어 사용되고 있는 표기 방식이다. 


인증 VS 인가

인증은 Authentication : 로그인할때 이뤄지는 작업으로, 내 아이디와 비밀번호를 통해 DB에 저장된 정보와 일치한다면 이 사이트의 회원입니다 하고 '인증'을 받는다.

인가는 Authorization : 로그인이 유지된 상태에서 일어나는 일로, 로그인으로 내 정보를 인증받은 후 내 계정으로 활동하고자 할 때(예를 들어서 댓글남기기, 좋아요 누르기 같은 동작) 내가 맞는 지 확인하고 허가를 해주는 작업이다. 

728x90

'학습 > 개념정리' 카테고리의 다른 글

개념정리 :: break와 continue  (0) 2022.02.27
개념정리 :: CORS?  (0) 2022.02.23
개념정리 :: ORM?  (0) 2022.02.22
개념정리 :: git ? github?  (0) 2022.02.20
개념정리 :: HTTP vs HTTPS?  (0) 2022.02.16