Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 스파르타 코딩클럽 #내배캠 #모의면접 #예상질문 #http 메서드 종류 #메서드 #post #put #get #patch #get방식 #post방식 #http프로토콜 #클라이언트 #백엔드 #api
- 스파르타 코딩클럽 #내배캠 #모의면접 #예상질문 #http 메서드 종류 #메서드 #post #put #get #patch #ci #cd
- 스파르타 코딩클럽 #인메모리db #h2 #연동이슈 #문제해결 #방법 #spring security #header #
- 스파르타 코딩클럽 #내배캠 #모의면접 #예상질문 #http 메서드 종류 #메서드 #post #put #get #patch #springmvc패턴 #model #view #controller
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
- 챌린저스 #bod
- 스파르타 코딩클럽 #내배캠 #최종프로젝트 #4개월삭제 #국비지원 #자바
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #KDT #기본문법 #데이터베이스 #Computer #Science #CPU #메모리
- 스파르타 코딩클럽 #내배캠 #모의면접 #예상질문 #http 메서드 종류 #메서드 #post #put #get #patch #ci #ioc #의존성
- spring security #jwt 토큰 #json web token #token #직렬화 #인증
- 스파르타 코딩클럽 #내배캠 #모의면접 #예상질문 #http 메서드 종류 #메서드 #post #put #get #patch #소셜로그인 #네이버 #기능구현 #vue.js #spring boot #네이버로그인 #연동하기
- 비트 #바이트 #이진수
- 스프링 #백엔드 #자바
- 스파르타 코딩클럽 #내배캠 #모의면접 #예상질문 #http 메서드 종류 #메서드 #post #put #get #patch #aop #관점지향프로그래밍 #유지보수
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #OSI #ISO #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
- 스파르타 코딩클럽 #내배캠 #모의면접 #예상질문 #http 메서드 종류 #메서드 #post #put #get #patch #대용량트래픽 #처리방법 #캐싱 #코드최적화 #db최적화 #트래픽 #로드밸런서
- 프로세스 #CPU #시공유 #커널
- 스파르타 코딩클럽 #내배캠 #모의면접 #예상질문 #http 메서드 종류 #메서드 #post #put #get #patch #최종프로젝트 #aws s3 #프로필 이미지 수정 #자동삭제
- 스파르타 코딩클럽 #내배캠 #모의면접 #예상질문 #http 메서드 종류 #메서드 #post #put #get #patch #tdd #테스트 주도개발 #테스트코드 #유닛테스트
- 공간복잡도 #공간자원 #캐시메모리 #SRAM #DRAM #시간복잡도
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
- 보안 #이슈
- 인가 #
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #웹개발
- ci/cd파이프라인
- 스파르타 코딩클럽 #내배캠 #모의면접 #예상질문 #http 메서드 종류 #메서드 #post #put #get #patch #트랜잭션전파 #transaction
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
- java5기
- 쓰레드 #쓰레드풀 #프로세스
- 스파르타 코딩클럽 #내배캠 #최종프로젝트 #로그인 #인증인가 #jwt? #토큰인증 #액세스토큰 #리프레시토큰 #쿠키 #파싱 #서명키의 중요성 #security context holder
Archives
- Today
- Total
요리사에서 IT개발자로
스파르타 부트캠프 Spring Master 3강 인증과 인가란 본문
인증(Authentication)
해당 유저가 실제 유저인지 인증하는 개념
인가(Authorization)
해당 유저가 특정 리소스에 접근이 가능한지 허가를 확인하는 개념
웹 애플리케이션 인증
서버와 클라이언트 구조로 되어있으며
이 요소들은 멀리 떨어져있다.
통신방식은
Http프로토콜(통신규약)을 지키며 통신을 하는데
통신은 비연결성(Connectionless) 무상태(Stateless)로 이루어진다.
비연결성(Connectionless)이란
서버와 클라이언트가 서로 연결되어 있지 않다.
실제로 우리는 서버에게 요청을 하면 요청을 응답하고 연결을 끊어내고 있다.
무상태(Stateless)란
서버가 클라이언트의 상태를 저장하지 않는다.
실제로 서버는 클라이언트가 어떠한 요청을 보냈는지 관심이없고 알지 못한다.
결국 비연결성과 무상태는
서버가 요청에대한 응답만하며연결을 끊어낸다는 것.
&
기존 DB는 그대로 지키고 있다는 것
이렇게 하는 이유는 서버의 비용부담때문이다.
쿠키- 세션 인증 방식
- 사용자가 로그인 요청 (아이디, 비밀번호)
- 사용자가 맞는지 확인 (아이디와 비밀번호 대조)
- 일치하면 세션저장소에 해당 유저가 로그인 되었다는 정보를 입력
- 세션 저장소는 유저의 정보와 상관없는 난수 Session ID발급
- 서버는 로그인 요청의 대한 응답으로 Session ID와 함께 응답하며
- 사용자는 Session ID 를 쿠키 저장소에 보관, 앞으로 요청할때마다 Session ID를 같이보낸다.(HTTP header에 담아서 보낸다)
- 사용자의 요청에 쿠키를 발견한다면 서버는 세션저장소에서 쿠키를 검증한다.
- 로그인이 되어있는 사용자의 한해서 응답을 내어준다.
결국 로그인한 사용자는
Session ID를 출입 카드키처럼 발급을 받아서
서버에게요청을 할 수 있고
또한 사용자가 요청 할 때마다
쿠키인증 방식을 통해 서버에게 요청한 데이터를 받을 수 있는것.
Cookie?
서버가 사용자의 웹브라우저에 전송하는 작은 데이터 조각.
브라우저는 이 데이터 조각들을 저장해 놓았다가 동일한 서버에 재 요청시 저장된 데이터를 함께 전송.
쿠키는 두 요청이 동이한 브라우저에 들어왔는지 아닌지를 판단할 때 주로 사용한다.
이를 이용하면 사용자의 로그인 상태를 유지할 수 있고 무상태 HTTP 프로토콜에서 브라우저의 상태정보를 기억할 수 있게 하는 방법이다.
https://dream-and-develop.tistory.com/196
JWT(JSON Web Token)이란
인증에 필요한 정보들을 암호화시킨 토큰을 의미한다.
JWT기반 인증은
쿠키/세션 방식과 유사하게
JWT토큰(Access Token)을 HTTP header 에 실어서
서버가 클라이언트를 식별한다.
- 사용자가 로그인 요청(iD, password)
- 서버는 DB에 로그인 요청정보를 대조
- 일치한다면 인증통과한 것으로보고 유저의 정보를 JWT로 암호화해서 보낸다
- 서버는 로그인 요청의 응답으로 JWT 토큰을 내어준다.
- 사용자는 받은 JWT토큰을 저장소에 보관하고 앞으로 요청할 때마다 토큰을 같이보낸다.(대신 기간이 만료되면 X)
- 사용자는 요청에서 토큰을 발견했다면 서버는 토큰을 검증한다.
- 이후에는 토큰만 인증이된다면 서버가 바로 응답을 해준다.
쿠키-세션인증방식은
세션저장소가 쿠키를 검증하면서
요청에대한 응답을 해줬는데
JWT는 쿠키를 따로 검증하지않고
유효한 JWT토큰을 가지고있다면
별다른 검증없이 응답을 해준다.
반응형
'Spring' 카테고리의 다른 글
스파르타 부트캠프 Spring Master 3강 패스워드 암호화 이해하기 (0) | 2024.05.25 |
---|---|
스파르타 부트캠프 Spring Master 3강 쿠키와 세션이란 (0) | 2024.05.24 |
스파르타 부트캠프 Spring Master 3강 같은 타입의 Bean이 2개일 경우 (0) | 2024.05.24 |
스파르타 부트캠프 Spring Master 3강 Bean을 수동등록 하는 방법 (0) | 2024.05.24 |
스파르타 부트캠프 Spring Master 2강 영속성 컨텍스트 기능 (0) | 2024.05.22 |