Skip to content

Commit 3e0a1bf

Browse files
authored
[9주차/미키] 워크북 제출합니다
[9주차/미키] 워크북 제출합니다
2 parents b6d0897 + 78d3fff commit 3e0a1bf

11 files changed

Lines changed: 102 additions & 0 deletions

File tree

keyword/chapter09/keyword.md

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
- 세션과 토큰의 차이는?
2+
3+
### 세션
4+
5+
비밀번호 등 클라이언트의 민감한 인증 정보를 브라우저가 아닌 서버 측에 저장하고 관리한다.
6+
7+
⇒민감정보는 서버에서 모두 관리한다.
8+
9+
- 세션 객체
10+
- key : SESSION ID
11+
- value : 세션 생성 시간, 마지막 접근 시간, 속성 등
12+
- 인증 과정
13+
- 유저가 로그인 → 서버 상에 저장
14+
- 서버에서 브라우저에 쿠키에다가 Session ID 저장
15+
- 브라우저는 해당 사이트에 대한 모든 Request에 Session ID를 쿠키에 담아 전송
16+
- 서버는 클라이언트가 보낸 Session ID와 서버 메모리로 관리하고 있는 Session ID를 비교하여 인증을 수행
17+
- 장단점
18+
- stateful 특징을 가진다.
19+
- 세션 ID 자체를 탈취하여 클라이언트인 척 위장 가능성
20+
- 서버에서 세션 저장소를 사용하므로 요청이 많아지면 서버에 부하가 심해진다.
21+
22+
### 토큰
23+
24+
클라이언트가 서버에 접속하면 서버에서 인증되었다는 의미로 해당 클라이언트에 토큰을 부여하는 방식이다.
25+
26+
⇒토큰은 유일하다.
27+
28+
- 인증 과정
29+
- 로그인 → 서버 접속 → 클라이언트한테 토큰 부여
30+
- 클라이언트가 토큰을 쿠키나 스토리지에 저장
31+
- 서버에 요청 시 헤더에 토큰 심어서 보낸다.
32+
- 서버는 받은 토큰을 자기가 제공한 토큰과 일치한 지 체크한다.
33+
- 장단점
34+
- 서버의 부담이 줄어든다.
35+
- stateless 특징을 가진다.
36+
- 인증 요청이 많아질수록 네트워크 부하가 심해질 수 있다.
37+
- Payload 자체는 암호화되지 않기 때문에 유저의 중요한 정보는 담을 수 없다.
38+
- 토큰 탈취 시 대처가 어렵다.
39+
40+
41+
- 엑세스 토큰과 리프레시 토큰이란?
42+
43+
### Access Token
44+
45+
클라이언트가 갖고 있는 실제로 유저의 정보가 담긴 토큰으로, 클라이언트에서 요청이 오면 서버에서 해당 토큰에 있는 정보를 활용
46+
47+
- 장단점
48+
- Access Token이 탈취되면 토큰이 만료되기 전까지, 토큰이 있는 사람은 누구나 권한 접근이 가능해진다.
49+
50+
### Refresh Token
51+
52+
새로운 Access Token을 발급해주기 위해 사용하는 토큰으로 짧은 수명을 가지는 Access Token에게 새로운 토큰을 발급해주기 위해 사용. 데이터베이스에 유저 정보와 같이 기록
53+
54+
⇒ 똑같은 JWT 토큰이지만 행하는 역할이 다르다.
55+
56+
- 인증 과정
57+
- 로그인 → Access Token, Refresh Token 모두 발급
58+
(refresh token만 서버 측 DB에 저장)
59+
- 사용자가 인증이 필요한 API에 접근하고자 하면, 가장 먼저 토큰을 검사한다.
60+
- access token, refresh token 모두 만료된 경우
61+
→ 에러 발생(재로그인하여 둘 다 새로 발급)
62+
- access token 만료, refresh token 유효
63+
→ refresh token을 검증하여 access token 재발급
64+
- access token 유효, refresh token 만료
65+
→ access token을 검증하여 refresh token 재발급
66+
- access token, refresh token 모두 유효 → 정상
67+
- 로그아웃을 하면 Access Token, Refresh Token을 모두 만료
68+
69+
- OAuth 1.0과 OAuth 2.0의 차이는?
70+
71+
### OAuth: Open Authorization
72+
73+
인터넷 사용자들이 비밀번호를 제공하지 않고,
74+
다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을
75+
부여할 수 있는 공통적인 수단으로 사용되는 접근 위임을 위한 개방형 표준입니다.
76+
77+
- 장단점
78+
- 연동되는 외부 Web Application 에서 카카오톡, Google, Github 등이
79+
제공하는 기능을 간편하게 사용할 수 있다.
80+
81+
- OAuth 1.0
82+
- 총 고객, 고객을 이용하려는 애플리케이션, 고객 정보를 가지고 있는 애플리케이션
83+
이렇게 3개가 상호작용하는 형태이다.
84+
- 장단점
85+
- 구현이 복잡하다 → 암호화를 하는 번거로움
86+
- 인증토큰이 만료 되지 않아 토큰을 만료하려면 애플리케이션의 비밀번호를 바꿔야 함.
87+
88+
- OAuth 2.0 ⇒ 간소화된 인증 프로토
89+
- 기능의 단순화, 기능과 규모의 확장성 등을 지원하기 위해 만들어졌다.
90+
- 다양한 인증 방식이 제공된다.
91+
- https 이용

mission/chapter09/img.png

71 KB
Loading

mission/chapter09/img_1.png

81.9 KB
Loading

mission/chapter09/img_2.png

53.5 KB
Loading

mission/chapter09/img_3.png

58 KB
Loading

mission/chapter09/img_4.png

35 KB
Loading

mission/chapter09/img_5.png

98.6 KB
Loading

mission/chapter09/img_6.png

81.3 KB
Loading

mission/chapter09/img_7.png

25 KB
Loading

mission/chapter09/img_8.png

96.8 KB
Loading

0 commit comments

Comments
 (0)