D+136
- Final Project : 16์ผ์ฐจ -
( Refresh Token ์ฐ์ฅํ๊ธฐ )
์ค๋์ ์ ๋ ์ ์์ ๋ก๊ทธ์ธ์ ๊ตฌํํ๋ ๊ฒ์ ์์ฑํ์๊ธฐ ๋๋ฌธ์
์์ ๋๋ก ๋ฆฌํ๋ ์ํ ํฐ์ ๊ด๋ จ๋ ์ฝ๋๋ฅผ ๊ตฌํํ๊ธฐ๋ก ํ์๋ค.
์ผ๋จ์ ๊ฐ์ฅ๋ง์ด ๊ณ ๋ฏผ์ ํ๋ ๊ฒ์ด ํ ํฐ์ ์ด๋ป๊ฒ ๋ฐ์์ฌ ๊ฒ์ด๋์ ๋ํ ๊ณ ๋ฏผ์ด์๋๋ฐ
๋ฐฉ๋ฒ 1 ) ์ผ๋จ์ ๋ฌด์กฐ๊ฑด ์ก์ธ์คํ ํฐ์ ๋ณด๋ด์ฃผ์๋ค๊ฐ, ์ก์ธ์คํ ํฐ์ด ๋ง๋ฃ๋์์ ๊ฒฝ์ฐ์
ํด๋ผ์ด์ธํธ์๊ฒ ๋ฆฌํ๋ ์๋ฅผ ๋ณด๋ด๋ฌ๋ผ๊ณ ๋ฉ์์ง๋ฅผ ๋ณด๋ด์ค๋ค.
๋ฐฉ๋ฒ 2 ) ํด๋ผ์ด์ธํธ์ธก์์ ํ ํฐ์ด ๋ง๋ฃ๋์๋์ง ํ์ธํ๊ณ ์ก์ธ์ค ํ ํฐ์ด ๋ง๋ฃ๋๋ฉด ๋ฆฌํ๋ ์ํ ํฐ์ ๋ณด๋ด์ค๋ค.
์ด๋ ๊ฒ ํ์๋ถ๊ณผ ํจ๊ป 2๊ฐ์ง ๋ฐฉ๋ฒ์ ์๊ฐํด ๋ณด์๋ค.
๋ง์ฝ ๋ฐฉ๋ฒ1์ ์งํํ์ ๊ฒฝ์ฐ์ ํด๋ผ์ด์ธํธ์๊ฒ ํ ํฐ ๋ด์ฉ์ ์ผ์ผํ ํ์ธํด ์๊ตฌํ๋ ๊ฒ์ด ์๋๊ธฐ ๋๋ฌธ์
๊ฐํธํ ์ ์์ผ๋ 2๋ฒ์ ์๋ค๊ฐ๋ค ๋ฐ๋ณตํด์ผ ํ๊ธฐ ๋๋ฌธ์ ํจ์จ์ฑ์ด ๋จ์ด์ง ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฐฉ๋ฒ2๋ ํด๋ผ์ด์ธํธ๊ฐ ํ ํฐ์ ๋ณด๋ฅผ ํ์ธํด์ผํ๊ธฐ ๋๋ฌธ์ ๋ฒ๊ฑฐ๋ก์ธ ์๋ ์์ง๋ง
ํ๋ฒ ์ ๋๋ก ๋ณด๋ด๋ฉด ์๋ค๊ฐ๋ค ํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์คํ๋ ค ๋ถ๋ด์ด ์ ์ด์ง ์ ์๋ค.
๋ง์ฝ์ ์๋ฒ์ ์ฅ์์ ์๊ฐํ์ ๋์๋ ๋ฐฉ๋ฒ2๊ฐ ์ ์ผ ์ข์ ๋ฐฉ๋ฒ์ด๊ธฐ๋ ํ์ง๋ง
ํ๋ก ํธ์๋ ๋ถ๋ค์๊ฒ ๋ฌด๋ฆฌํ ์๊ตฌ๊ฐ ๋ ๊น๋ด ์กฐ์ฌ์ค๋ฝ๊ฒ ์ฌ์ญค๋ดค๋๋
๊ฐ์ฌํ๊ฒ๋ ๋ฐฉ๋ฒ2๋ฅผ ํฌ๋งํ๋ค๊ณ ํ์ ์ ๊ทธ๋ ๊ฒ ์งํํ๊ธฐ๋ก ํ์๋ค.
์ผ๋จ์ ๋ณธ๊ฒฉ์ ์ผ๋ก ๋ฆฌํ๋ ์ ํ ํฐ์ ๋ง์ง๊ธฐ ์ ์ ๊ธฐ์กด ์ฝ๋์์ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ฉ์์ง๋ฅผ ๋ฌ๋ฆฌํ์ฌ
๋ณด๊ธฐ ์ฝ๊ฒ ์๋์ฝ๋์ ํจ๊ป ์กฐ๊ฑด๋ฌธ์ผ๋ก ์ฝ๋๋ฅผ ๋ค๋ฌ์ด ์ฃผ์๋ค.
์ฝ๋์ ๋ํด์ ๊ฐ๋ตํ๊ฒ ์ค๋ช ํด๋ณด์๋ฉด
์ผ๋จ์ ํด๋น ์ฝ๋๊ฐ ์๋ฒ์์ ๋ง๋ accessToken์ธ์ง๋ฅผ ํ์ธ์ ํ ๋ค์, ์๋๊ฒฝ์ฐ์ refreshToken์ธ์ง ์ฌํ์ธ์ ํ๊ณ
๋ง์ฝ refreshToken์ผ ๊ฒฝ์ฐ์ ์ ํจ๊ธฐ๊ฐ์ด ๋ง๋ฃ๋์๋์ง ํ์ธํ์ฌ,
์ ํจ๊ธฐ๊ฐ์ด ๋จ์์๋ค๋ฉด ์ก์ธ์ค ํ ํฐ์ ๊ฐฑ์ ํ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด ์ฌ๋ก๊ทธ์ธ ํ๋๋ก ์ ๋ํ๋ ์ฝ๋๋ฅผ ์์ฑํ ์์ ์ด๋ค.
ํ ํฐ์ ์ฐ์ฅํ๊ธฐ ์ํด์๋ ํ ํฐ์ด ์ธ์ ๋ง๋ฃ๋๋์ง์ ๋ํด์ ์์์ผ ํ๊ธฐ ๋๋ฌธ์
์ฝ์๋ก๊ทธ๋ก ๋ฐ์์ค๋ ๋ฐ์ดํฐ๋ฅผ ํ์ธํด ๋ณด๋
ํ ํฐ์ ํ์ด๋ก๋ ๋ถ๋ถ์ด ๋์ค๋ ๊ฒ์ ํ์ธํ ์ ์์๋ค.
๊ทธ๋ฐ๋ฐ ์๊ฐํด๋ณด๋ iat๋ ํ ํฐ์์ฑ์๊ฐ์ด๊ณ , exp๋ ํ ํฐ ๋ง๋ฃ์๊ฐ์ด๋ผ๋ ๊ฒ์ ์๊ณ ๋ ์์์ง๋ง
์๊ฐ๊ณ์ฐ์ด ์ด๋ป๊ฒ ์ด๋ฃจ์ด์ ธ ์๋์ง๋ฅผ ์ ๋ชจ๋ฅด๊ณ ์์ด์ ์ด๋ป๊ฒ ๊ณ์ฐํด์ผํ ์ง์ ๋ํด
๊น์ ๊ณ ๋ฏผ์ ๋๋ค์ ํ๊ฒ ๋์๋ค.
๊ทธ๋ฐ๋ฐ ์๊ฐํด ๋ณด๋ Date.now()๋ฅผ ์ ๋ ฅํ์๋์ ์ซ์์ ํํ๊ฐ ๋งค์ฐ ๋น์ทํ๋ค๋ ๊ฒ์ ๋๊ผ๊ณ ,
์ด๋ป๊ฒ Date ํ์์์ ํ ํฐ์ exp์ฒ๋ผ ๊ฐ์ ๋ฐ๊ฟ์ ์๋์ง์ ๋ํ ๋ฐฉ๋ฒ์ ๋ํด ๊ฒ์์ ํด๋ณด์๋ค.
๊ทธ๋์ ํ์ธํด๋ณด๋ Date.now( ) ํ ๊ฐ์์ 1000์ ๋๋ ๊ฐ์ด ํ ํฐ์์ ๋์จ ๊ทธ ๊ฐ์ด๋ผ๊ณ ํ๋ค.
๊ทธ๋์ ์ด๋ฅผ ํ์ฉํด์ ํ ํฐ์ exp๊ฐ ํ์ฌ ์๊ฐ๋ณด๋ค ํด ๊ฒฝ์ฐ ๋ง๋ฃ๋ ๊ฑฐ๋ผ๊ณ ํ๋จํ ํ
์ฌ๋ก๊ทธ์ธ์ ํ๋๋ก ๋ฉ์์ง๋ฅผ ์ ์กํ๊ณ ,
์ ํจ์๊ฐ์ด ๋จ์์ ๊ฒฝ์ฐ์ ์ก์ธ์ค ํ ํฐ์ ๊ฐฑ์ ํ๊ณ ์๋ก ๋ง๋ ํ ํฐ์ header์
๋ฃ์ด์ ์๋ต์ ๋ค์ด๊ฐ ์ ์๋๋ก ์ฝ๋๋ฅผ ์ถ๊ฐํด ์ฃผ์๋ค.
์ด ์ฝ๋์ ๋ํด์๋ ์์ง ํ๋ก ํธ๋ถ๋ค๊ณผ ๋ง์ถ์ด ๋ณธ ๊ฑด ์๋์ง๋ง
๊ทธ๋๋ ์ฒ์์์ฑํ ์ฝ๋๋ณด๋จ ํจ์ฌ ๋์ ๊ฒ ๊ฐ๋ค ใ ใ ใ
์ด์ ์ด๋์ ๋ ์ ๋ฐ์ ์ธ ์ฝ๋๊ตฌํ์ ์๋ฃ๋์ด์
๋ด์ผ์ ๋ฐฐํฌ๋ฅผ ์งํํ์ง ์์๊น ์ถ๋ค.
route53์ด ๋ฌด์ญ๊ตฌ๋.... ใ ใ ใ ใ
'์๋ > Code-States' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[D+138] Final Project : 18์ผ์ฐจ Multer๋ก AWS ์ ๋ก๋ํ๊ธฐ (0) | 2021.03.07 |
---|---|
[D+137] Final Project : 17์ผ์ฐจ AWS์ ์๋ฆฌ (1) | 2021.03.06 |
[D+135] Final Project : 15์ผ์ฐจ(2) ์นด์นด์ค API๋ก ์์ ๋ก๊ทธ์ธ ๊ตฌํํ๊ธฐ (2) | 2021.03.04 |
[D+135] Final Project : 15์ผ์ฐจ(1) ์นด์นด์ค ์์ ๋ก๊ทธ์ธ (0) | 2021.03.03 |
[D+134] Final Project : 14์ผ์ฐจ JWT(JSON Web Token) (0) | 2021.03.03 |
๋๊ธ