ํ์ฌ ์งํ์ค์ธ ํ๋ก์ ํธ๋ JWT ํ ํฐ์ ์ด์ฉํด์ ์ธ์ฆ์ ์ํํ๊ณ ์๋ค.
์ธ์ฆ์ ๊ต์ฅํ ๋ฏผ๊ฐํ ๋ถ๋ถ์ด๋ค. ํ ํฐ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ด ๋ฏผ๊ฐํ ๋ถ๋ถ์์ ์ด์๊ฐ ๋ฐ์ํ๊ธฐ ์ฝ๋ค.
ํ์ฌ ์ฐ๋ฆฌ ์๋ฒ์ ๊ฒฝ์ฐ Access Token์ด ํ์ทจ๋นํ๋ค๋ ์ฌ์ค ์์ฒด๋ฅผ ์ ์ ์๋ค.
ํ์ทจ๋นํ๋ค๋ ์ฌ์ค์ ์์๋ค๊ณ ํ๋๋ผ๋ ํ ์ ์๋ ์กฐ์น๋ ํ์ฌ ๋ฐํ๋ ๋ชจ๋ ํ ํฐ์ด ๊ฒ์ฆ ๋ถ๊ฐ๋ฅํ๋๋ก ํ๋ ๊ฒ ๋ฟ์ด๋ค.
์ฌ๊ธฐ์ ๋ฌธ์ ๋ ์ด๋ฏธ ๋ฐํ๋ ํน์ ํ ํฐ์ ๋ํด ์๋ฒ๋ ์ด๋ค ์กฐ์น๋ ํ ์ ์๋ค๋ ๊ฒ์ด๋ค.
Access Token์ด ํ์ทจ๋นํ๋๋ผ๋ ๋ฐ์ ๊ฐ๋ฅํ ํผํด๊ฐ ์ต์ํ ๋๋๋ก Access Token์ ๋ง๋ฃ๊ธฐ๊ฐ์ ๋งค์ฐ ์งง๊ฒ ํ๋ ๋ฐฉ๋ฒ์ด๋ค.
์ด๋ ๊ฒ ํ๋ฉด ํด๋ผ์ด์ธํธ๋ ๋งค์ฐ ์์ฃผ ๋ค์ ์ธ์ฆ(๋ก๊ทธ์ธ)์ ํด์ผ ํ๋ค.
๋ณด์์ ์ฑ ์์ ํด๋ผ์ด์ธํธ์๊ฒ ์ ๊ฐํด์ ๋ถํธํจ์ ์ ๋ฐ์ํค๋ ์ข์ง์์ ๋ฐฉ๋ฒ์ด๋ค.
Access Token์ ๋ง๋ฃ๊ธฐ๊ฐ์ ์งง๊ฒ ๊ฐ์ ธ๊ฐ๋ ์๋ฃจ์
์ ์ ์งํ๋ฉด์ ์ฌ์ฉ์์ ๋ถํธํจ์ ์ต์ํํ๋ ๋ฐฉ๋ฒ์ด๋ค.
ํด๋ผ์ด์ธํธ๋ ์ธ์ฆ์ ์ฑ๊ณตํ๋ฉด ๋ ๊ฐ ํ ํฐ์ ๋ฐ๊ธ๋ฐ๋๋ค.
Access Token: ์ธ์ฆ์ ์ฌ์ฉ๋๋ ํ ํฐRefresh Token: Access Token์ ๋ฐ๊ธ๋ฐ๊ธฐ ์ํ ํ ํฐAccess Token์ 1์๊ฐ ์ด๋ด๋ก ์งง์ ๋ง๋ฃ์๊ฐ์ ํ ๋นํ๊ณ Refresh Token์๋ 7์ผ~30์ผ ์ ๋๋ก ๊ธด ๋ง๋ฃ์๊ฐ์ ํ ๋นํ๋ค.
๋งค ์์ฒญ๋ง๋ค ํด๋ผ์ด์ธํธ๋ ๋ ํ ํฐ์ ๋ชจ๋ ํค๋์ ํฌํจํด์ ์ค๊ณ ์๋ฒ ์ธก์์๋ ์ฐ์ ์ ์ผ๋ก Access Token์ ๊ฒ์ฆํ๊ณ Access Token์ด ๋ง๋ฃ๋์๋ค๋ฉด Refresh Token์ ๊ฒ์ฆํด์ ์๋ก์ด Access Token์ ์์ฑํ๊ณ ์ธ์ฆ์ฒ๋ฆฌ ํ ์๋ก์ด Access Token์ ๋ด๋ ค์ค๋ค.
Access Token์ ๋ง๋ฃ๊ธฐ๊ฐ์ ์งง๊ฒ ๊ฐ์ ธ๊ฐ๋ฉด์ ์์ฃผ ์ธ์ฆํด์ผ ํ๋ ๋ฒ๊ฑฐ๋ก์์ ํด๊ฒฐํ๊ธฐ ์ํด Refresh Token์ ์ ์ฉํ๋ค. ์์ง ๋ฌธ์ ๊ฐ ์๋ค.
Refresh Token์ด ํ์ทจ๋นํ๋ค๋ฉด ???
Access Token๋ง ์์์ ๋ ์๋ฒ๋ ๋ฐ๊ธ๋ ํน์ Access Token์ ๋ฌด๋ ฅํ ์ํฌ ๋ฐฉ๋ฒ์ด ์์๋ค.
์ธ์ฆ๋ก์ง์ ๋ณ๊ฒฝํด์ ๋ฐ๊ธ๋ ๋ชจ๋ Access Token์ ๋ฌด๋ ฅํ์ํค๋ ์ ๋๊ฐ ์ต์ ์ผ ๊ฒ์ด๋ค.
ํน์ ํด๋ผ์ด์ธํธ์ ํ ํฐ์ ๋ฌด๋ ฅํ์ํฌ ๋ฐฉ๋ฒ์ด ํ์ํ๋ค.
๋ญ๊ฐ ํน๋ณํ ๋ฐฉ๋ฒ์ด ์๋ ๊ฒ์ ์๋๋ค. Refresh Token์ ์๋ฒ์์ ๊ด๋ฆฌํ๋ ๊ฒ์ด๋ค. (๋ง์น ์ธ์
์ฒ๋ผ)
Access Token๊ณผ ํจ๊ป ์์ฑ๋ Refresh Token์ DB์ ์ ์ฅํ๋ค.Access Token์ผ๋ก ์์ฒญ์ด ์จ ๊ฒฝ์ฐ ํจ๊ป ์ ๋ฌ๋ Refresh Token์ ๊ฒ์ฆํ๊ณ ์๋ฒ์ธก DB์์ ์กฐํํ๋ค.Refresh Token์ด ์ ํจํ๊ณ DB์์๋ ์กฐํ๊ฐ ๋๋ค๋ฉด REAL ์ ๋๋ก๋ Refresh Token์ผ๋ก ํ๋จํ๋ค.Refresh Token์ด ์ ์ฅ๋ DB์ ํน์ row๋ฅผ ์ญ์ ํ๋ค๋ฉด ์ด๋ฏธ ๋ฐ๊ธ๋ Refresh Token์ ๋ฌด๋ ฅํ๋๋ค.
Next...