🤝 활동/내배캠TIL

[내일배움캠프 25일차 TIL] 쿠키-세션 방식과 JWT 기반 인증

MNY 2024. 5. 21. 22:06
728x90
반응형
오늘의 진도 : Spring 숙련 주차 2주차 2-3 RestTemplate의 Post 요청까지...

뭔소린지 모르겠지만 일단 빠르게 1회독을 한다!
오늘의 학습, 코드카타, 오늘의 회고 이렇게 3개의 큰 틀로 나누어 정리할 것이다.

 

💡 오늘의 학습 키워드

- 1주차 -
Autowired & Primary & Qualifier
인증과 인가
쿠키 - 세션 방식
JWT 기반 인증
쿠키 vs 세션

- 팀 회의 -
git branch naming
git commit message template

- 코트카타 : SQL -
JOIN

 

Autowired & Primary & Qualifier

  • Autowired
    • 기본적으로 타입으로 찾는다. ex) Food
    • 같은 타임이 여러개라면 이름으로 찾는다. ex) pizza, chicken
  • Primary가 추가되면 Bean이 여러개라도 우선적으로 찾아준다.
  • Qualifier은 별칭으로 찾아준다.
  • Primary vs Qualifier
    • Primary : 범용적으로 사용
    • Qualifier
      • 지역적으로 사용
      • 우선순위 더 높음
      • Qualifier이라고 명시해줘야 사용 가능

 

인증과 인가

  • 인증(Authentication) : 해당 유저가 실제 유저인지 인증하는 개념
  • 인가(Authorization) : 해당 유저가 특정 리소스에 접근이 가능한지 허가를 확인하는 개념

 

쿠키 - 세션 방식

: 서버가 '특정 유저가 로그인 되었다'는 상태를 저장하는 방식

인증과 관련된 아주 약간의 정보만 서버가 가지고 있게 되고 유저의 이전 상태의 전부는 아니더라도 인증과 관련된 최소한의 정보는 저장해서 로그인을 유지시킨다는 개념

 

* 세션을 저장해 놓을 저장소 존재

 

JWT 기반 인증

: 인증에 필요한 정보들을 암호화시킨 토큰

JWT 기반 인증은 쿠키/세션 방식과 유사하게 JWT 토큰(Access Token)을 HTTP헤더에 실어 서버가 클라이언트를 식별

 

* 저장할 필요가 없기에 저장소가 존재하지 않음

 

쿠키 vs 세션

  쿠키(Cookie) 세션(Session)
설명 클라이언트에 저장될 목적으로 생성한 작은 정보를 담은 파일 서버에서 일정시간 동안 클라이언트 상태를 유지하기 위해 사용
저장 위치 클라이언트 (웹 브라우져) 웹 서버
사용 예 사이트 팝업의 "오늘 다시보지 않기" 정보 저장 로그인 정보 저장
만료 시점 쿠키 저장 시 만료일시 설정 가능
(브라우져 종료시도 유지 가능)
다음 조건 중 하나가 만족될 경우 만료됨 1. 브라우져 종료 시까지
2. 클라이언트 로그아웃 시까지
3. 서버에 설정한 유지기간까지 해당 클라이언트의 재요청이 없는 경우
용량 제한 브라우져 별로 다름 (크롬 기준)
- 하나의 도메인 당 180개
- 하나의 쿠키 당 4KB(=4096byte)
개수 제한 없음
(단, 세션 저장소 크기 이상 저장 불가능)
보안 취약 (클라이언트에서 쿠키 정보를 쉽게 변경, 삭제 및 가로채기 당할 수 있음) 비교적 안전 (서버에 저장되기 때문에 상대적으로 안전)

 

git branch naming

  • main, develop branch : 본래 이름을 그대로 사용
  • feature branch : feat/{issue-number}-{feature-name} ex) feat/#1-login, feat/1-login
  • release branch ex) release-1.7
  • hotfix branch ex) hotfix-1.4.1

 

* 참고한 블로그

 

[Git] git branch & naming

Branch 생성 방식과 네이밍 규칙 Branch의 종류 1. master 브랜치 (제품으로 출시될 수 있는 브랜치) 사용자에게 배포 가능한 상태만을 관리한다. 배포(release) 이력을 관리하기 위해 사용한다. 즉, 함부

ej-developer.tistory.com

 

git commit message template

 

* 참고한 블로그

 

TIL/Git & Github/7. Commit Message Template.md at main · ryurbsgks5114/TIL

Contribute to ryurbsgks5114/TIL development by creating an account on GitHub.

github.com

 

JOIN

 

* 참고한 블로그

 

SQL 기본 문법: JOIN(INNER, OUTER, CROSS, SELF JOIN)

조인은 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것을 말한다. INNER JOIN(내부 조인)은 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다.OUTER JOIN(외부

hongong.hanbit.co.kr

 


코드 카타

* 프로그래머스로 진행

 

  • 알고리즘
    • 이상한 문자 만들기
    • 삼총사
  • SQL
    • 오랜 기간 보호한 동물(1)
    • 카테고리 별 도서 판매량 집계하기

 


오늘의 회고

  • 12시간 중 얼마나 몰입했는가?

일단 오전에는 코드카타랑 TIL, WIL 작성 후 코테 스터디 문제 풀이 했고

오후부터는 강의를 듣기 시작했는데 식곤증이 심해서 수준별 수업의 대부분을 졸면서 들어서 기억에 남는 게 없다.

그래도 아직까지는 그렇게 진도가 늦지 않았고 나에게 주어진 시간을 모두 잘 활용하여 집중했기에.. 

12 시간 중 10시간은 몰입했다고 말해도 되지 않을까?

 

  • 오늘의 생각

이유는 모르겠는데 오늘 너무 피곤하다. 

어제보다 더 많은 시간을 잔 것 같은데 왜 이렇게 피곤한지 모르겠다.

내일 하루 빠져서 진도를 더 많이 빼고 빠르게 습득해야 되는데...

 

  • 내일 학습할 것은 무엇인지

내일은 학습따위 안 한다ㅎ

10년지기 친구들이랑 오랜만에 전부 모여서 놀러간다아아ㅏ아ㅏㅏ

728x90
반응형