codestates / codestates/Memory-It
[Dev Log] ๐ Refresh Token, ์ ๋ง ์์ ํ๊ฐ??
- Dominant language
- JavaScript
- Stars
- 1
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
### Refresh Token์ ์ ๋ง ์ ์ ๋ฆฌ์์ค๋ฅผ ๋ณดํธํ๋ ์์ ํ๋ฐฉ๋ฒ์ธ๊ฐ
+ Refresh Token์ ์กด์ฌ์ด์ ์ ๋ํด์๋ ํ ํฐ ์คํ๋ฆฐํธ๋ฅผ ์งํํ ๋ ๋ฐฐ์ ๋ค.
+ Access Token์๋ ์ ์ ์ ๋ฏผ๊ฐํ ์ ๋ณด๊ฐ ๋ด๊ฒจ์๊ธฐ ๋๋ฌธ์ ๋ธ๋ผ์ฐ์ ์ ์ค๋ ์ ์ฅํด๋๋ค๋ฉด ๋ณด์์ํ์ ์ค๋ ๋
ธ์ถ๋จ์ ์๋ฏธํ๋ค.
+ ๊ทธ๋์ Access Token์ ์งง๊ฒ ์ ์งํ์๋ ์ ์ ๊ฒฝํ์ด ํ๋ฝํ๋๋ฐ, ์ด๋ ์ฌ์ฉ๋๋๊ฒ์ด Refresh Token.
+ ์คํ๋ฆฐํธ๋ฅผ ์งํํ ๋๋ ์ธ๊ธ์ด์๋๋ถ๋ถ์ด์ง๋ง Refresh Token์ด ํ์ทจ๋นํ๋ฉด ๋์ด์๋๊ฐ ๋ผ๋ ์๊ฐ์ด ์๋ค ์ ๊ฐ ์๋ค. ์๋ฒฝํ ๋ณด์์ ์๊ธฐ์ ๋น์ฐํ ๋ง๋ค. ํด์ปค๊ฐ Refresh Token์ด ํ์ทจํด Access Token์ ๋ฐ๊ธ๋ฐ์ผ๋ฉด ๊ทธ๋ง์ด๋ค.
+ Token์ ํ ํฐ์์ฒด๊ฐ ์๋ณ์ ์๋ฏธ๋ฅผ ๊ฐ๊ณ ๋ฌด๊ธฐ๋ช
์ผ๋ก ์์ฑ๋๊ธฐ๋๋ฌธ์ ๊ฒฐ๊ตญ ํ ํฐ์ ๋ณด๋ธ์ด๊ฐ ๋๊ตฌ์ธ์ง ์ ๋ฐฉ๋ฒ์ด ์๋ค.
### ์๋ฌด ์๋ฏธ์๋ ๋ฐฉ๋ฒ์ ๋์
ํ์ง ์์์ํฐ
+ Refresh Token์ ๋ ์์ ํ๊ฒ ์ฌ์ฉํ๋ ํ๊ฐ์ง ๋ฐฉ๋ฒ์ ์ ์ํ๋ ๊ธ์ ์ฝ์๋ค. ๊ฐ๋จํ ๋งํ์๋ฉด **_Token Family_** ๋ฅผ ๋ง๋๋ ๋ฐฉ์
+ Token Family์ ์ ๊ทผ๋ฐฉ์์ ํ ํฐ์ ๋ณด๋ด๋ ์ฌ๋์ด **_์ ์ ์ธ์ง ํด์ปค์ธ์ง ๊ตฌ๋ถํ๋ ๋ฐฉ๋ฒ์ด ์๊ธฐ๋๋ฌธ์ ๋ชจ๋ ํด์ปค๋ก ๋ณด์_** ์ ๋๋ก ๋ฐ์๋ค์ผ ์ ์๋ค.
#### Token Family ๋งค์ปค๋์ฆ
+ Access Token์ด ๋ง๋ฃ๋๋ฉด ํด๋ผ์ด์ธํธ๋ Refresh Token์ ์ฌ์ฉํด์ Access Token์ ์ฌ๋ฐ๊ธ ๋ฐ๋๋ค.
+ ์ด๋ ์๋ฒ๋ Refresh Token๋ ํจ๊ป ์ฌ๋ฐ๊ธํ๋ค.
+ ๊ทธ๋ฆฌ๊ณ ์๋ฒ๋ **_๊ธฐ์กด์ ์ฌ์ฉํ Refresh + Access ํ ํฐ์_** ๊ณผ ์ง๊ธ **_์๋ก ๋ฐ๊ธํ Refresh + Access ํ ํฐ์_** ์ ๋ชจ๋ ์ ์ฅํ๋ค. ์ด๊ฒ์ด Token Family ์ด๋ค. (์ด์ ๊ธฐ์กดํ ํฐ์์ ํ ํฐ1, ์ํ ํฐ์์ ํ ํฐ2๋ผ๊ณ ํํํ๊ฒ ๋ค.)
+ ์ด ์ํ์์ ํด๋ผ์ด์ธํธ๊ฐ ํ ํฐ1์ ์ฌ์ฉํด์ ์ ๋ณด๋ฅผ ์์ฒญํ๋ค๋ฉด? ๋ฌด์ธ๊ฐ ์๋ชป๋์์ ์ ์ ์๋ค. ๋ถ๋ช
ํด๋ผ์ด์ธํธ๋ ์ด์ ํ ํฐ2๋ฅผ ์ฌ์ฉํด์ ์์ฒญ์ ๋ณด๋ด์ผํ๋ ์ํฉ์ด๊ธฐ๋๋ฌธ
+ ์ด ๋ ํ ํฐ1์ ์ฌ์ฉํด์ ์์ฒญ์ ๋ณด๋ธ์ชฝ์ด ์ ์ ์ธ์ง ํด์ปค์ธ์ง ์ ์ ์๋ค. ํ ํฐ1์ Access Token์ด ๋ง๋ฃ๋ ์ํ๋ก ์๋ฒ๋ก์ ์์ฒญ์ ๋จผ์ ๋ณด๋ธ์ชฝ์ด ์ด๋์ชฝ์ธ์ง๋ถํฐ ์ด๋ฏธ ์ ์ ์์๋ค. ์์ Token Family์ ์ ๊ทผ ๋ฐฉ์์์ ๋งํ๋ค์ถ์ด ๋ชจ๋๋ฅผ ํด์ปค๋ก ๋ณด๋ฉด๋๋ค.(์ด๋ฏธ ๋ญ๊ฐ ์๋ชป๋๊ธฐ ๋๋ฌธ)
+ ์๋ฒ๋ ์ด ์ํฉ์ ์ธ์งํ๊ณ ํ ํฐ1๊ณผ ํ ํฐ2์ ์ ๊ทผ๊ถํ์ ๋ชจ๋ ๋ฌดํจํ์ํจ๋ค. ๊ทธ๋ฆฌ๊ณ ํด๋ผ์ด์ธํธ์๊ฒ ์๋ก์ด ์ธ์ฆ์ ์์ฒญํ๋ค.
### ๋ด ์๊ฐ์
์๋ฌดํผ Refresh Token์ ํ์ทจ๋ฅผ ๋ง๋ ์ง์ ์ ์ธ ๋ฐฉ๋ฒ์ด ์๋์ ํ์คํ๋ค. ํ์ง๋ง ์๋ฒฝํ๋ณด์์ ์๊ณ ๋ณด์์ ๋ฒฝ์ ํ์ธต ๋ํ
๊ฒ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ง๋ค๊ณ ๋ณธ๋ค.
ํดํน์๋๊ฐ ์๋ค๋ฉด ์ ์ ๋ Refresh token์ ๋ฌด๊ธฐํ์ผ๋ก ์ฌ์ฉํ ์ ์๊ฒ๋์ ์ ์ ๊ฒฝํ์ ์ต๋ํ ๋ณด์ฅํ ์ ์์ง ์๋์ถ๋ค.
์ด๋ฒ ํ๋ก์ ํธ์์ Refresh Token์ ์ด์ฉํด๋ณผ๊นํ๋๋ฐ Access Token๊ณผ ๋จ์ํ ํ ํฐ์ ์๋ช
์ ์ฐจ์ด๋ก ๋๊ธฐ์๋ ๋๋ฌด ๋ฌด์๋ฏธํ๊ฒ ์๋๊ฐ์ถ์ด์ ์ฐพ์๋ณธ ์ ๋ณด์ด๋ค. ๋ด๊ฐ ์ ํ์ด ์ดํดํ๊ฒ์ด๋ผ๋ฉด ์ข๊ฒ ๋ค. ํ๋ก์ ํธ์ ์ ์ฉํด๋ณผ ์ ์๋์ง๋..... ์๋๋ ํด๋ณผ ์์ ์ด๋ค.
### ์ฐธ๊ณ ํ ๋ ํผ๋ฐ์ค
[What Are Refresh Tokens and How to Use Them Securely](https://auth0.com/blog/refresh-tokens-what-are-they-and-when-to-use-them/)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.