์ฐธ๊ณ ์ฌ์ดํธ • https://puleugo.tistory.com/138 ๐ซAccessToken๊ณผ ๐ชชRefreshToken • AccessToken: ์๋ฒ API๋ฅผ ์ง์ ์์ฒญํ ๋ ์ฌ์ฉํ๋ค. • RefreshToken: ์ก์ธ์ค ํ ํฐ์ด ๋ง๋ฃ๋์์ ๋ ์ก์ธ์ค ํ ํฐ์ ์ฌ๋ฐ๊ธํ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉํ๋ค. ๐ง๐ปโค๏ธ๐ฉ๐ป๋ถ๋ฆฌ ๋ชฉ์ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ API ํต์ ์ค, ํ ํฐ์ด ํด์ปค์๊ฒ ์ ์ถ๋ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฐ๋ผ์, ์ง์ API๋ฅผ ํธ์ถํ๋ ์ก์ธ์ค ํ ํฐ์ ์ฃผ๊ธฐ๋ ์งง๊ฒ ์ค์ ํ๊ณ (์ฝ 1์๊ฐ) ์ก์ธ์ค ํ ํฐ์ ์ฌ๋ฐ๊ธํ๋ ๋ฆฌํ๋ ์ ํ ํฐ์ ์ฃผ๊ธฐ๋ ๋น๊ต์ ๊ธธ๊ฒ ์ค์ ํ๋ค. (์ฝ 2์ฃผ) ์ด๋ ๊ฒ ๋๋ค๋ฉด ์ก์ธ์ค ํ ํฐ์ด ์ ์ถ๋๋๋ผ๋ ๋ง๋ฃ ์ฃผ๊ธฐ๊ฐ ์งง์ ํผํด๋ฅผ ์กฐ๊ธ์ด๋๋ง ์ค์ผ ์ ์๋ค. ๐ป ๊ฐ๋ฐ ์ก์ธ์ค/๋ฆฌํ๋ ์ ํ ํฐ ๋ฐฉ์์ ์ค๊ฐ์ ํ์ทจ ๋น..
์ฐธ๊ณ ์ฌ์ดํธ • https://velopert.com/2389 ๐ผ ๊ตฌ์กฐ jwt๋ ' . ' ์ ๊ตฌ๋ถ์๋ก 3๊ฐ์ง ๋ฌธ์์ด๋ก ๊ตฌ์ฑ๋์ด ์๋ค. ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ๋ค. ๐ท๐ปโ๏ธ Header Header๋ ๋๊ฐ์ง์ ์ ๋ณด๋ฅผ ์ง๋๊ณ ์๋ค. • typ: ํ ํฐ์ ํ์
์ ์ง์ ํ๋ค. ์ฆ, jwt • alg: ํด์ฑ ์๊ณ ๋ฆฌ์ฆ์ ์ง์ ํ๋ค. ํด์ฑ ์๊ณ ๋ฆฌ์ฆ์ ๋ณดํต HMAC SHA256 ํน์ RSA๊ฐ ์ฌ์ฉ๋๋ฉฐ, ์ด ์๊ณ ๋ฆฌ์ฆ์ ํ ํฐ์ ๊ฒ์ฆํ ๋ ์ฌ์ฉ๋๋ signature๋ถ๋ถ์์ ์ฌ์ฉ๋๋ค. { "typ": "JWT", "alg": "HS256" } ๋ค์์ base64๋ก ์ธ์ฝ๋ฉ ํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. const header = { typ: 'JWT', alg: 'HS256', }; const encodedHeader = new Buffer(JS..
์ฐธ๊ณ ์ฌ์ดํธ hxyxneee.log๋์ ๋ฒจ๋ก๊ทธ ์ฐ๋ฆฌ๋ ๋ณธ์ธ์ ์ธ์ฆํ ๋, ์ค์ํ ์ ๋ณด๋ค์ ๋ด์๋ณด๋ธ๋ค. ์์ด๋, ๋น๋ฐ๋ฒํธ, ๊ฐ์ธ์ ๋ณด(์ด๋ฆ, ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ, ํธ๋ํฐ ๋ฒํธ) ๋ฑ... ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ๋ ์ ์ถ์ด ๋๋๋ผ๋ ํด๋น ๋ฐ์ดํฐ๋ฅผ ๋น๋ฐ์ค๋ฝ๊ฒ ๋ฐ๊พธ์ด ํด์ปค๊ฐ ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ํ์
ํ์ง ๋ชปํ๋๋กํด์ผ ์กฐ๊ธ์ด๋๋ง ๋ ์์ ํ ์ ์๊ธฐ์ ์ํธํ๊ฐ ํ์ํ๋ค. ๐ ์ํธํ ์ํธํ๋, ํน์ ์ง์์ ์์ ํ๊ณ ์๋ ์ฌ๋๋ค์ ์ ์ธํ๊ณ ๋ ๋๊ตฌ๋ ์ง ์ฝ์ด๋ณผ ์ ์๋๋ก ์ ๋ณด๋ฅผ ์ ๋ฌํ๋ ๊ณผ์ ์ด๋ค. ๋ฐ๋๋ก ์ํธ๋ฌธ์ ํ๋ฌธ์ผ๋ก ๋ฐ๊พธ๋ ๊ฒ์ ๋ณตํธํ๋ผ๊ณ ํ๋ค. โ ๏ธ ์ํธํ์ ํ์์ฑ ์ ์ ์ ๋น๋ฐ๋ฒํธ๋ ๊ทธ๋๋ก DATABASE์ ์ ์ฅํ์ง ์๋๋ค. โ DB๊ฐ ํดํน ๋นํ๋ฉด ์ ์ ์ ๋น๋ฐ๋ฒํธ๊ฐ ๊ทธ๋๋ก ๋
ธ์ถ๋๋ค. โ ์ธ๋ถ ํดํน์ด ์๋๋๋ผ๋ ๋ด๋ถ ๊ฐ๋ฐ์๊ฐ DB์ ์ ๊ทผํด ..
์ฐธ๊ณ ์ฌ์ดํธ ๋๋ฌด๋ฅผ ์ฌ์์ฌ๋๋์ ํฐ์คํ ๋ฆฌ ํ๋๋์ ๋ธ๋ก๊ทธ ๋ถํ๋ ํค๋ณด๋๋์ ํฐ์คํ ๋ฆฌ ํธ๋ฅด๊ณ ๊ฐ๋ฐ๋์ ํฐ์คํ ๋ฆฌ ๐ ๋ก๊ทธ์ธ ๋ฐฉ์ ์ดํด ๋ก๊ทธ์ธ์ ํฌ๊ฒ ์ธ์
๋ฐฉ์๊ณผ ํ ํฐ ์ธ์ฆ ๋ฐฉ์์ผ๋ก ๊ตฌ๋ถ๋๋ค. HTTP๋ statelessํ ํน์ฑ์ ๊ฐ์ง๋ฉฐ, ๋ฐ๋ก ์ง์ ์ ์ํ ๋ํ ์ ์ฅ์ด ๋์ง ์๋๋ค. ๊ทธ๋ ๋ค๊ณ ์ฐ๋ฆฌ๋ ์๋ฒ์ ์์ฒญํ ๋๋ง๋ค ํธ์ถํ ๋๋ง๋ค ๋ก๊ทธ์ธ์ฐฝ์ ์ด๊ณ ์ธ์ฆํ์ง ์๋๋ค. ์ ์ ๊ฐ ๋ก๊ทธ์ธ์ ์ฑ๊ณตํ์ฌ ์๋ฒ์ ์ธ์ฆ๋ ํ์์ธ ๊ฒ์ด ํ์ธ๋๋ฉด ์ ์ ์๊ฒ ์ธ์
๋๋ ํ ํฐ์ ๋ฐ๊ธํ๋ค. ๊ทธ๋ผ ์ ์ ๋ ์ธ์
๋๋ ํ ํฐ์ ๋ก์ปฌ์คํ ๋ฆฌ์ง ๋๋ ๐ชCookie๋ก ๊ฐ์ง๊ณ ์๋ค๊ฐ ์๋ฒ์ ์์ฒญํ ๋๋ง๋ค ์ธ์
๋๋ ํ ํฐ์ ๋ณด๋ธ๋ค. ๐ Session ๋ฐฉ์ ์ธ์
๋ฐฉ์์ ์ฌ์ฉ์์ ์ธ์ฆ ์ ๋ณด๊ฐ ์๋ฒ์ ์ธ์
์ ์ฅ์์ ์ ์ฅํ๊ณ , ์ฌ์ฉ์์๊ฒ ์ ์ฅ๋ ์ธ์
์ ๋ณด ์๋ณ์..