💐 Spring/Spring Security

7. JWT를 이해하기 전 Basic, Bearer 방식

2021. 10. 31. 23:08
목차
  1. Token 인증 방식
  2. Session은 동일 도메인에서만..
  3. Authorization
  4. Basic
  5. Bearer
반응형

이 포스트는 데어 프로그래밍님의 유튜브 강의를 듣고 나서 정리한 글입니다.

 

Token 인증 방식

  • 세션을 사용했을 때의 서버에 두는 세션 저장소, 또 여러 서버일 때의 처리해야 할 문제들을 한방에 해결할 수 있습니다.
  • 쿠키를 사용하지 않아도 되므로 쿠키를 탈취 당했을 때의 보안 취약점들도 사라지게 됩니다.
  • 서버가 여러 대 이어도 Secret_key 값만 알고 있으면 토큰을 Valid 할 수 있습니다.

 

Session은 동일 도메인에서만..

  • 만일 동일 도메인에서의 요청이 아니라면, 쿠키가 안 날라간다! (서버에서 쿠키를 거부!)
  • 그렇다면, javascript에서 Ajax로 헤더에 쿠키를 강제로 담아서 보낼 수가 있는데, 서버에서는 HTTP Only 설정을 통해 외부에서 HTTP 요청이 아닌 javascript 요청이 들어오면 거부되는 설정을 한다.
  • HTTP Only = false로 풀어주면, 외부에서 javascript로 장난을 많이 치기 때문에 true로 설정하는 편이다.

 

Authorization

서버로 요청을 보낼 때, 요청 헤더에 Authorization : <type> <credentials> 을 담아서 보냅니다.

type에는 여러가지가 있는데 우리가 알아볼 타입 두 가지를 알아보갰습니다.

 

Basic

사용자 ID와 PW를 Base64로 인코딩한 값을 토큰으로 사용한다. (RFC 7617)

  • Basic 토큰 값이 노출이 되면 ID, PW가 노출되는 것이기 때문에 보안에 취약하다.

 

Bearer

일반적으로 JWT(RFC 7519) 같은 OAuth 토큰을 사용한다. (RFC 6750)

  • Basic 방식과는 달리 토큰에 ID, PW 값을 넣지 않는다.
  • 로그인 시 토큰을 부여받고, 이후 요청할 때 요청 헤더에 토큰을 실어서 보낸다.
  • 세션 저장소가 필요가 없고, 토큰 자체에 내장이 되어있다.
  • STATELESS, 무결성, 보안성이 장점
반응형
저작자표시 (새창열림)
  1. Token 인증 방식
  2. Session은 동일 도메인에서만..
  3. Authorization
  4. Basic
  5. Bearer
'💐 Spring/Spring Security' 카테고리의 다른 글
  • 9. JWT 임시 토큰으로 필터 테스트
  • 8. JWT를 사용하기 전 Filter 등록 테스트
  • 6. JWT를 사용하기 위한 프로젝트 세팅
  • 5. JWT 구조에 대해서
iseunghan
iseunghan
꾸준하게 열심히..
iseunghan
iseunghan

공지사항

  • 어제보다 나은 오늘이 되기 위해 🔥
  • 분류 전체보기 (262)
    • 💐 Spring (14)
      • 개념 및 이해 (2)
      • Spring 핵심 기술 (24)
      • Spring REST API (8)
      • Spring MVC, DB 접근 기술 (7)
      • Spring Security (23)
      • Spring in Action (1)
    • 🌻 JAVA (84)
      • 자바 ORM 표준 JPA 프로그래밍 (20)
      • 알고리즘, 자료구조 (13)
      • 디자인 패턴 (7)
      • 정리정리정리 (43)
      • JUnit (1)
    • 🔖 Snippets (3)
      • Javascript (3)
    • ⚙️ Devops (22)
      • ⛏ Git (11)
      • 🐳 Docker (6)
      • 🐧 Linux (3)
      • 🌈 Jenkins (1)
      • 📬 Kafka (1)
    • 💬 ETC.. (4)
      • 💻 macOS (2)
    • 🌧️ ORM (2)
      • JPA (2)
    • 🐍 Python (3)
    • 📚 Databases (15)
      • 오라클로 배우는 데이터베이스 개론과 실습(2판) (3)
      • RealMySQL 8.0 (8)
    • 🔥 Computer Science (5)
      • 📡 네트워크 (5)
    • 🏷️ 협업 (1)
    • 📜 코딩테스트 (38)
      • BAEKJOON\수학 1, 수학 2 (8)
      • BAEKJOON\재귀 (5)
      • BAEKJOON\브루트 포스 (3)
      • BAEKJOON\정렬 (1)
      • BAEKJOON\백트래킹 (5)
      • BAEKJOON\BFS, DFS (6)
      • BAEKJOON\이분탐색 (1)
      • BAEKJOON\다이나믹 프로그래밍 (9)
      • BAEKJOON\그리디 알고리즘 (0)
    • ✨ ISEUNGHAN (1)

인기 글

최근 글

전체
오늘
어제
반응형
hELLO · Designed By 정상우.
iseunghan
7. JWT를 이해하기 전 Basic, Bearer 방식
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.