- ์ง๊ธ์ ๋ฐฉ์๋๋ก๋ผ๋ฉด ์ก์ธ์ค ํ ํฐ๋ง ์์ด๋ ๋๋ ๊ฒ ์๋๊ฐ?
- reissue API(ํ ํฐ ๊ฐฑ์ API)๊ฐ ์ ๋ง ํ์ํ๊ฐ?
์ด์ ๊ธ์์ ์ด๋ฌํ ์๋ฌธ๋ค์ ๋จ๊ฒจ๋๊ณ ๊ธ์ ๋ง๋ฌด๋ฆฌํ๋ค. ์ค๋์ ๊ทธ ์๋ฌธ์ ํด์ํ๋ ๊ณผ์ ์์์ ์๊ฐ์ ์ ๋ฆฌํ๊ณ ์ ํ๋ค. ํ๋ก์ ํธ๋ง๋ค ํ ํฐ ๊ตฌํ ๋ฐฉ์์ด ๋ค๋ฅผ ์ ์๊ณ ๊ณ ๋ฏผ์ ํด์ ๋ฐฉ์์ด ๋ค๋ฅผ ์ ์๋ค๋ ์ ์ฐธ๊ณ ๋ฐ๋๋ค ๐
๋ฐฉ๋ ํ๋ก์ ํธ์์๋ ์ก์ธ์ค ํ ํฐ, ๋ฆฌํ๋ ์ ํ ํฐ์ ๋ชจ๋ ์ฟ ํค๋ก ์ ๋ฌํ๊ณ ์์ผ๋ฉฐ ๋ชจ๋ ์์ฒญ๋ง๋ค 2๊ฐ์ ํ ํฐ์ ์ ์กํ๋ค. ์ด๋ ์ก์ธ์ค ํ ํฐ์ผ๋ก ํ ํฐ ๊ณ์ํด์ ๊ฐฑ์ ํ๋ฉด ๋์ง, ๊ตณ์ด ๋ฆฌํ๋ ์ ํ ํฐ์ด ํ์ํ๊ฐ?๋ผ๋ ์๊ฐ์ด ๋ค์๋ค.
๋ง์ฝ ์ก์ธ์ค ํ ํฐ์ด ํ์ทจ๋นํ๋ฉด ๊ทธ ํ ํฐ์ผ๋ก ๊ณ์ ํ ํฐ์ ๋ฐ๊ธํ ์ ์๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ์ํํ๋ค. ๊ทธ๋ฐ๋ฐ ์ด๋ ๋ฆฌํ๋ ์ ํ ํฐ๋ ๋ง์ฐฌ๊ฐ์ง ์๋๊ฐ?
๋จผ์ ์ก์ธ์ค ํ ํฐ๋ง ๊ฐ์ง๊ณ ์๋ค๊ณ ์๊ฐํด๋ณด์.

์ก์ธ์ค ํ ํฐ์ ์ ํจ์๊ฐ์ 30๋ถ์ด๋ค. ์
์์ ์ธ ์ฌ์ฉ์๊ฐ ์ ์ ์ ํ ํฐ์ ํ์ทจํด ํ ํฐ์ ์ํจ์๊ฐ์ธ 30๋ถ๋์ ๋ง๊ป ํ ํฐ์ ์ฌ์ฉํ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ์ ํจ์๊ฐ์ด ๋ง๋ฃ๋๋ฉด ํ ํฐ ๊ฐฑ์ API๋ฅผ ์์ฒญํด ์๋ก์ด ํ ํฐ์ ๋ฐ๊ธ๋ฐ์ ์ ์๋ค. ์
์์ ์ธ ์ฌ์ฉ์๋ ๋ฌดํํ ์ก์ธ์ค ํ ํฐ์ ๋ฐ๊ธ๋ฐ์ ์ ์๋ค.
๋ฐ๋ฉด ๋ฆฌํ๋ ์ ํ ํฐ์ด ์กด์ฌํ๋ค๊ณ ์๊ฐํด๋ณด์. ๊ทธ ์ ์, ๋ด๊ฐ ์๋ชป ์๊ฐํ๊ณ ์๋ ๋ถ๋ถ์ ์ง๊ณ ๋์ด๊ฐ์ผ ํ๋ค. ์ง๊ธ์ ๊ตฌํ์์๋ ๋งค ์์ฒญ๋ง๋ค ์ก์ธ์ค, ๋ฆฌํ๋ ์ ํ ํฐ์ด ํจ๊ป ์ ๋ฌ๋๋ค. ์ผ๋ฐ ์์ฒญ์์๋ ์ก์ธ์ค ํ ํฐ๋ง, ํ ํฐ ๊ฐฑ์ ์์ฒญ์์๋ ๋ฆฌํ๋ ์ ํ ํฐ์ ํจ๊ป ๋ด์ ์ ๋ฌํ๊ณ ์ถ์ง๋ง ์ด๋ฅผ ํ๋ก ํธ์์ ๊ตฌ๋ณํด์ ๋ณด๋ผ ์ ์๋ค. ๋ณด์์์ ์ด์ ๋ก ํ๋ก ํธ์์ ์ ์ดํ ์ ์๋๋ก httpOnly ์์ฑ์ ์ฌ์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋์ ์ก์ธ์ค ํ ํฐ์ด ํ์ทจ๋ ๋ ๋ฆฌํ๋ ์ ํ ํฐ๋ ๋น์ฐํ ํ์ทจ๋๋ ๊ฒ ์๋๊ฐ๋ผ๊ณ ์๊ฐํ์๋ค. ํ์ง๋ง ์ผ๋จ์ ์ก์ธ์ค ํ ํฐ๊ณผ ๋ฆฌํ๋ ์ ํ ํฐ์ ๋ค๋ฅด๊ฒ ๋ณด๋ผ ์ ์๋ค๋ ๊ฐ์ ์ด ํ์ํ๋ค.

๋ค์ ์์๋ก ๋์์์, ์
์์ ์ธ ์ฌ์ฉ์๋ ์ฌ์ฉ์์ ์ก์ธ์ค ํ ํฐ์ ํ์ทจํด 30๋ถ๋์ ๋ง๊ป ์ฌ์ฉํ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ก์ด ํ ํฐ์ ๊ฐฑ์ ํ๊ณ ์ ํ๋ค. ํ์ง๋ง ๋ฆฌํ๋ ์ ํ ํฐ์ ๊ฐ์ง๊ณ ์์ง ์๊ธฐ ๋๋ฌธ์ ์๋ก์ด ํ ํฐ์ ๋ฐ๊ธ๋ฐ์ ์ ์๋ค. ๋ฐ๋ผ์ ์
์์ ์ธ ์ฌ์ฉ์๋ ์ก์ธ์ค ํ ํฐ์ ์ ํจ์๊ฐ๋์๋ง ํผํด๋ฅผ ์ค ์ ์์ผ๋ฉฐ ์ดํ๋ก๋ ๊ถํ์ ์๊ฒ ๋๋ค. ๋ฆฌํ๋ ์ ํ ํฐ์ ์ฌ์ฉํด ํ ํฐ ๊ฐฑ์ ์ ๋์ฑ ์์ ํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋ค. ๋ํ ์ก์ธ์ค ํ ํฐ์ ๋งค ์์ฒญ๋ง๋ค ํฌํจ๋์ง๋ง ๋ฆฌํ๋ ์ ํ ํฐ์ ํ ํฐ ๊ฐฑ์ API์์๋ง ์ฌ์ฉ๋๋ฏ๋ก ํ์ทจ ์ํ์ด ๋ฎ์์ง๋ค.
๋จผ์ , ์ก์ธ์ค ํ ํฐ์ด ํ์ทจ๋๋ฉด ๊ทธ ์๊ฐ๋์์ ๊ณ์ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ์ก์ธ์ค ํ ํฐ์ ์ ํจ์๊ฐ์ ์ต๋ํ ์งง๊ฒ ๊ฐ์ ธ๊ฐ๋ ๊ฒ์ด ์ข๋ค. 5 ~ 10๋ถ์ ๋๊ฐ ์ ๋นํ ๊ฒ ๊ฐ๋ค.
๋ค์์ผ๋ก ๋ฆฌํ๋ ์ ํ ํฐ์ด ํ์ทจ๋นํ๋ฉด ํ ํฐ์ ๋ฌดํํ ์์ฑํ ์ ์๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ์ํํ๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํ ํฐ์ ํน์ ์ ์ฅ์(ex) Redis)์ ์ ์ฅํด๋์ด์ผ ํ๋ค. ์ฌ์ฉ์์ ์๋ณ์์ ๋ฆฌํ๋ ์ ํ ํฐ์ ํจ๊ป ์ ์ฅํด๋๊ณ ํ ํฐ ๊ฐฑ์ API ์์ฒญ์ ๋ฆฌํ๋ ์ ํ ํฐ์ ๋์กฐํด ์
์์ ์ธ ์ฌ์ฉ์๋ฅผ ํ๋ณํ ์ ์์ ๊ฒ์ด๋ค. ์ด์ ๊ธ์์ ์ธ๊ธํ๋ฏ, JWT๋ฅผ ์๋ฒ์ ์ ์ฅํด๋๋ค๋ฉด stateless ํน์ฑ์ ์๋๋ค๊ณ ์๊ฐํด ์๋ฒ์ ์ ์ฅํ์ง ์์๋ค. ํ์ง๋ง ๋ฆฌํ๋ ์ ํ ํฐ์ ํ ํฐ ๊ฐฑ์ API ์์ฒญ์์๋ง ๋์กฐ๋ฅผ ์ํด ์กฐํํ๋ค. ์ด๋ ํฐ ๋ถ๋ด์ด ์๋๋ผ๊ณ ์๊ฐํด ์๋ฒ์ ์ ์ฅํ๋ ๊ฒ์ด ํฐ ๋ถ๋ด์ด ๋์ง ์์ผ๋ฉด์๋ ๋ณด์์ ์ด์ ์ ์ฑ๊ธธ ์ ์๋ ์ข์ ๋ฐฉ์์ด๋ผ๊ณ ์๊ฐํ๋ค.
๋ง์ง๋ง์ผ๋ก ํ๋ก ํธ์์ ์ก์ธ์ค ํ ํฐ, ๋ฆฌํ๋ ์ ํ ํฐ์ ๊ตฌ๋ณํด ๋ณด๋ผ ์ ์๋ ๋ฐฉ๋ฒ์ ์ฐพ์๋ณด์๋ค. ์ฟ ํค์ path ์์ฑ์ ํ์ฉํ๋ฉด ํน์ URL์ ๋ํด์๋ง ์ฟ ํค๋ฅผ ์ ์กํ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ ๊ฒ ๊ตฌ๋ณํด๋ณด๋ด๊ธฐ ์ํด์๋ ํ ํฐ ๊ฐฑ์ API๊ฐ ํ์ํ๋ฏ๋ก reissue API(ํ ํฐ ๊ฐฑ์ API)๊ฐ ์ ๋ง ํ์ํ๊ฐ? ๋ผ๋ ์๋ฌธ์ ๋ ํด์๋์๋ค.