๐ 2024. 05. 10 102์ผ์ฐจ
ํด๋ผ์ด์ธํธ : ๋ธ๋ผ์ฐ์
์๋ฒ: ์น์๋ฒ
์์ดํฐ ์ฑ / ์น ์๋ฒ
์๋๋ก์ด๋ ์ฑ / ์น ์๋ฒ
2008๋ ๋ ์์ดํฐ/์๋๋ก์ด๋๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์๋๋ผ์ ์ฟ ํค๊ฐ ์์
์ฟ ํค๊ฐ ์์ด
์ฑ
์ฑ์์ ์๋ฒ๋ก ๊ทธ๋ฅ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ฉด ๋๊ตฐ์ง ๋ชจ๋ฅด๋๊น id๋ pw๋ฅผ ํ๋ฌถ์ผ๋ก ๊ฐ์ด ๋ณด๋
๊ฒฐ๋ก
์น
์ต์ด ์์ฒญ : ID / PW
๊ทธ ๋ค์ ์์ฒญ : ์ ๋ชฉ / ๋ด์ฉ
๊ทธ ๋ค์ ์์ฒญ : ์ ๋ชฉ / ๋ด์ฉ
์ฑ
์ต์ด ์์ฒญ : ID / PW
๊ทธ ๋ค์ ์์ฒญ : ID / PW / ์ ๋ชฉ / ๋ด์ฉ
๊ทธ ๋ค์ ์์ฒญ : ID / PW / ์ ๋ชฉ / ๋ด์ฉ
ID/PW๋ ์ฑ ์ธก์์ ๊ธฐ์ตํด๋ ผ๋ค
๊ณ์
ID / PW
ํ ํฐ์ ๋ง๋ฃ์ํฌ ์ ์๋ ๊ณ์
ํ ํฐ์ด ๋ฐ๋ช ๋๊ธฐ ์ ,
ํ ํฐ์ด ๋ฐ๋ช ๋๊ณ ๋์,
id/pw -> ๋๊ตฐ์ง ์ ์ํ์ธ
ํ ํฐ -> ๋๊ตฐ์ง ์ ์ํ์ธ
ํดํน ๋นํ๋ฉด, id/pw๋ ํธ๋ฆฌ์ง๋ง ํ ํฐ๋ ํธ๋ฆผ
DB์ member ํ ์ด๋ธ์
SELECT * FROM member
WHERE token = '123412341234';
์ธ์ ๊ฐ์ด ์๋์ง ์๋์ง
ํ ํฐ์ ๋จ์
๊ทธ๋ฌ๋ 100% ์ ๋ต์ ์๋.
์ธ์
๋ธ๋ผ์ฐ์ - ๋ก๊ทธ์ธ ์ฌ๋ถ๋ฅผ DB์กฐํ ์์ด ํ๊ณ ์ถ์๋ฐ
ํ ํฐ์ ์ฌ์ฉํ๋ฉด DB์ฌ์ฉ์ ์ํ ์๊ฐ ์์
๋ด๊ฐ ๊ธ์ 1000๋ฒ ์ฐ๋ฉด DB์์ select๋ฅผ 1000๋ฒ ํด์ผํ๋๊ฑฐ์ง.
SELECT * FROM member
WHERE token = '123412341234';
์ฌ๊ธฐ ํ ํฐ ๊ฐ์ ์๋ฏธ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋?
์ฌ๊ธฐ์ ๋์จ๊ฒ ๋ฐ๋ก JWT
์๋ ํ ํฐ
JWT
https://www.base64decode.org/
์ฌ๊ธฐ์ encode๋ฅผ ํ๋ฉด ์๋์ ๊ฐ์ด ํ ํฐ์ด ๋ฐํ์ด ๋๋ค.

-> Hash(์ํฌ๋ฆฟํค)
-> JWT
=== ์๋ ํ ํฐ ๋ฐฉ์ ===
๋ฒํธ: 1
์์ด๋ : abcd
๋น๋ฒ : 1234
์ด๋ฆ : ํ๊ธธ๋
๋์ด : 22
ํ ํฐ : 11112312314432523
SELECT * FROM member
WHERE token = '11112312314432523';
=== ์ ํ ํฐ ๋ฐฉ์ ===
"๋ฒํธ": 1
"์์ด๋" : "abcd"
"๋น๋ฒ" : 1234
"์ด๋ฆ" : "ํ๊ธธ๋"
"๋์ด" : 22
"ํ ํฐ" : "11112312314432523"
WHERE token = '11112312314432523';
์ ํ ํฐ๋ฐฉ์์ ์ด๋ฐ๊ฑฐ ํ์ง ์์๋ ๋จ
https://www.base64decode.org/
์ฌ๊ธฐ์ ํ ํฐ์ decode๋ฅผ ํ๋ฉด
eyJpZCIgOjEsICJuYW1lIjogIu2Zjeq4uOuPmSIsICJhZ2UiOiAyMn0=
{"id" :1, "name": "ํ๊ธธ๋", "age": 22}
์ ๋ณด๊ฐ ๋์จ๋ค.

๊ทธ๋ฌ๋ ๋จ์ ๋ณํ์ ํ๊ฑฐ๋ผ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ขฐํ ์ ์๋.
JWT
JWT ๋ง๋ค๋ ์ ํจ๊ธฐ๊ฐ ์ค๋ฉ
member