감사쟁이야
감사쟁이의 성장기록
감사쟁이야
  • 분류 전체보기 (130)
    • Java-Spring (0)
    • ComputerScience (0)
    • Project (64)
      • TIL, WIL (57)
      • Project Retrospect (7)
    • Problem Solving (63)
    • Book Review (1)
    • Culture & Discovery (0)
    • Daily Log (2)

블로그 메뉴

  • 홈
  • 깃허브
  • 방명록
hELLO · Designed By 정상우.
감사쟁이야

감사쟁이의 성장기록

TIL(38) 21-11-10 : Spring Security + OAuth2
Project/TIL, WIL

TIL(38) 21-11-10 : Spring Security + OAuth2

2021. 11. 10. 23:40

💫  Facts

✅  Spring CRUD API, Auth API(인증 및 인가)의 데이터 흐름 파악

✅  토큰 이해

 

💫  Findings

🧩  Token

토큰 기반 인증 : 인증받은 사용자들에게 토큰을 발급하고, 서버에 요청을 할 때 헤더에 토큰을 함께 보내 유효성을 검사하는 방식

 

👉🏻   세션과 달리 토큰 기반 인증방식은 다양한 도메인에 대응할 수 있고, 서버의 메모리 부담을 줄일 수 있다.

또한, 서버가 여러 대를 두고 사이트를 운영할 때, 세션 유지가 제대로 안될 수 있지만,

토큰 인가 방식으로는 서버에서 토큰을 발급하고 보내주고 이를 서버에 저장하지 않기에 서버가 여러 대여도 상관없다.

 

 

🤯    하지만, 치명적인 단점이 있다. 이미 발급된 토큰에 대해서는 돌이킬 수 없다. 세션/쿠키의 경우 만일 쿠키가 악의적으로 이용된다면, 해당하는 세션을 지워버리면 된다. 하지만 토큰은 한 번 발급되면 유효기간이 완료될 때 까지는 계속 사용이 가능하다. 따라서 악의적인 사용자는 유효기간이 지나기 전까지 신나게 정보들을 털어갈 수 있다.

 

 

💡  이를 위한 해결책으로는 기존의 Access Token의 유효기간을 짧게 하고 Refresh Token이라는 새로운 토큰을 발급한다. 그렇게 되면 Access Token을 탈취당해도 상대적으로 피해를 줄일 수 있다.

 

🧩  OAuth

OAuth : 사용자가 애플리케이션에게 모든 권한을 넘기지 않고 사용자 대신 서비스를 이용할 수 있게 해주는 HTTP 기반의 보안 프로토콜

 

📝  출처

 

쉽게 알아보는 서버 인증 1편(세션/쿠키 , JWT)

앱 개발을 처음 배우게 됐을 때, 각종 화면을 디자인해보면서 프론트엔드 개발에 큰 흥미가 생겼습니다. 한때 프론트엔드 개발자를 꿈꾸기도 했었죠(현실은 ...) 그러나 서버와 통신을 처음 배

tansfil.tistory.com

 

Session vs Token Based Authentication

Why do we need session or token for authentication?

sherryhsu.medium.com

'Project > TIL, WIL' 카테고리의 다른 글

TIL(40) 21-11-17 : @Transactional / 스프링 Controller가 Client로 부터 파라미터를 받는 방법 / Lambda와 Stream  (0) 2021.11.17
TIL(39) 21-11-15 : 도커를 사용해서 컨테이너를 구성해보기  (0) 2021.11.15
TIL(37) 21-11-09 : Object Oriented Programming  (0) 2021.11.09
TIL(36) 21-11-08 : Spring DI / IoC  (0) 2021.11.09
TIL(35) 21-11-05 : Spring은 고마운 친구  (0) 2021.11.05
    'Project/TIL, WIL' 카테고리의 다른 글
    • TIL(40) 21-11-17 : @Transactional / 스프링 Controller가 Client로 부터 파라미터를 받는 방법 / Lambda와 Stream
    • TIL(39) 21-11-15 : 도커를 사용해서 컨테이너를 구성해보기
    • TIL(37) 21-11-09 : Object Oriented Programming
    • TIL(36) 21-11-08 : Spring DI / IoC
    감사쟁이야
    감사쟁이야
    sunzero0116@gmail.com

    티스토리툴바