티스토리 뷰
카테고리 없음
파이썬 초보 파이리
2025. 3. 25. 14:51
1. JWT 발급
- jwt.sign()을 사용하여 사용자의 정보와 비밀키를 포함한 JWT를 생성할 수 있다.
- 생성된 JWT는 쿠키에 저장하거나 클라이언트에게 응답으로 보낼 수 있다.
- 발급된 JWT에는 발급 시간(iat), 만료 시간(exp), 발급자(iss) 등의 정보가 포함될 수 있다.
2. JWT 검증
- 클라이언트는 Authorization 헤더에 JWT를 포함하여 서버에 요청을 보낸다.
- 서버에서는 jwt.verify()를 사용해 JWT의 유효성을 검사한다.
- 검증에 성공하면 토큰에서 사용자의 정보를 추출하여 활용할 수 있다.
JWT를 활용한 API 보안 적용
1. 로그인 기능에 JWT 적용
- 사용자가 로그인하면, 서버는 사용자 ID, 이메일 등의 정보를 포함한 JWT를 발급한다.
- 발급된 JWT는 쿠키 또는 로컬 스토리지에 저장할 수 있으며, 이후 인증이 필요한 API 요청 시 포함하여 보낸다.
2. JWT를 적용한 API 예시 – 좋아요 기능
- 좋아요(Like) 기능을 구현할 때, JWT를 활용하여 사용자 인증 후 좋아요를 등록할 수 있다.
- 요청을 보낸 사용자 정보를 jwt.verify()를 통해 확인하고, 이를 기반으로 해당 사용자의 ID를 데이터베이스에 저장한다.
JWT 적용 시 고려할 점
- 토큰 유효기간 설정: 너무 길면 보안 위험, 너무 짧으면 사용자 불편
- HttpOnly 옵션 사용: 쿠키에 저장할 경우, XSS 공격 방지를 위해 설정 필요
- Bearer Token 방식 사용: API 요청 시 Authorization 헤더에 Bearer 토큰값을 포함하는 방식 활용
- 토큰 검증 실패 처리: 만료되거나 위조된 토큰에 대한 예외 처리 필수
« 2025/12 »
| 일 |
월 |
화 |
수 |
목 |
금 |
토 |
| |
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 |
31 |
|
|
|