๐๋ชฉํ
- React๋ฅผ ์ฌ์ฉํ์ฌ Frontend ๊ฐ๋ฐ
- ์ธ์ฆ๋ ์ฌ์ฉ์๊ฐ ๋ณด๋ ํ์ด์ง ๋ค๋ฆ
- Spring Boot๋ฅผ ์ฌ์ฉํ์ฌ Backend ๊ฐ๋ฐ
- Spring Security, JWT ์ฌ์ฉ
- MongoDB๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ์ ๋ณด ์ ์ฅ


GitHub Repository
https://github.com/devbwoh/w24w15Security
https://github.com/devbwoh/w24w15-jwt-auth
โญJWT (JSON Web Token)
- ์น ์ ํ๋ฆฌ์ผ์ด์
์์ ์๋ฒ์ ํด๋ผ์ด์ธํธ๊ฐ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋, ์ ๋ณด๊ฐ ๋ณ์กฐ๋์ง ์์์์ ํ์ธํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
- ๊ตฌ์ฑ: ์ธ ๋ถ๋ถ์ผ๋ก ๋๋จ
- ํค๋(Header): ํ ํฐ์ ํ์
๊ณผ ์๊ณ ๋ฆฌ์ฆ ์ ๋ณด (์: JWT, HS256)
- ํ์ด๋ก๋(Payload): ์ค์ ์ ๋ฌํ๊ณ ์ ํ๋ ๋ฐ์ดํฐ (์: ์ฌ์ฉ์ ID, ๊ถํ ๋ฑ)
- ์๋ช
(Signature): ๋ฐ์ดํฐ๊ฐ ๋ณ์กฐ๋์ง ์์์์ ํ์ธํ๋ ๋ถ๋ถ, ๋น๋ฐ ํค๋ฅผ ์ฌ์ฉํด ์์ฑ
JWT.IO
- ์ฌ์ฉ ํ๋ฆ:
- ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธ โ ์๋ฒ๊ฐ JWT ์์ฑ
- ์์ฑ๋ JWT๋ฅผ ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ ๋ฑ)์ ์ ๋ฌ
- ์ดํ ํด๋ผ์ด์ธํธ๋ ์์ฒญ ์ JWT๋ฅผ ์๋ฒ๋ก ๋ณด๋ด๊ณ , ์๋ฒ๋ ์๋ช
๊ฒ์ฆ ํ ์์ฒญ ์ฒ๋ฆฌ
- ์ฅ์ :
- ์๋ฒ๊ฐ ์ํ๋ฅผ ์ ์งํ ํ์ ์์ด ์ธ์ฆ ๊ฐ๋ฅ
- ์ฌ๋ฌ ์๋ฒ ๊ฐ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ๊ณต์ ํ ์ ์์
- ํ ํฐ ์์ฒด์ ์ ๋ณด๊ฐ ๋ค์ด ์์ด ์ธ์ฆ ๊ณผ์ ์ด ๋น ๋ฆ
โญMongoDB
์ง๋ ์๊ฐ์ ๋ง๋ค์ด ๋์ Cluster0์ users Collection ์ถ๊ฐ