๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์‹œ๋„/Code-States

[D+136] Final Project : 16์ผ์ฐจ Refresh Token ์—ฐ์žฅํ•˜๊ธฐ

by ๐Ÿ‡๋ฐ•๋ด‰๋ด‰๐Ÿ‡ 2021. 3. 6.

 

 

D+136

-  Final Project : 16์ผ์ฐจ -

( Refresh Token ์—ฐ์žฅํ•˜๊ธฐ )

 


 

 

์˜ค๋Š˜์€ ์ „๋‚ ์— ์†Œ์…œ ๋กœ๊ทธ์ธ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์„ ์™„์„ฑํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์— 

์˜ˆ์ •๋Œ€๋กœ ๋ฆฌํ”„๋ ˆ์‹œํ† ํฐ์— ๊ด€๋ จ๋œ ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ๋กœ ํ•˜์˜€๋‹ค.

 

์ผ๋‹จ์€ ๊ฐ€์žฅ๋งŽ์ด ๊ณ ๋ฏผ์„ ํ–ˆ๋˜ ๊ฒƒ์ด ํ† ํฐ์„ ์–ด๋–ป๊ฒŒ ๋ฐ›์•„์˜ฌ ๊ฒƒ์ด๋ƒ์— ๋Œ€ํ•œ ๊ณ ๋ฏผ์ด์—ˆ๋Š”๋ฐ

 

๋ฐฉ๋ฒ• 1 ) ์ผ๋‹จ์€ ๋ฌด์กฐ๊ฑด ์•ก์„ธ์Šคํ† ํฐ์„ ๋ณด๋‚ด์ฃผ์—ˆ๋‹ค๊ฐ€, ์•ก์„ธ์Šคํ† ํฐ์ด ๋งŒ๋ฃŒ๋˜์—ˆ์„ ๊ฒฝ์šฐ์—

ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฆฌํ”„๋ ˆ์‹œ๋ฅผ ๋ณด๋‚ด๋‹ฌ๋ผ๊ณ  ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด์ค€๋‹ค.

 

๋ฐฉ๋ฒ• 2 ) ํด๋ผ์ด์–ธํŠธ์ธก์—์„œ ํ† ํฐ์ด ๋งŒ๋ฃŒ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์•ก์„ธ์Šค ํ† ํฐ์ด ๋งŒ๋ฃŒ๋˜๋ฉด ๋ฆฌํ”„๋ ˆ์‹œํ† ํฐ์„ ๋ณด๋‚ด์ค€๋‹ค.

 

์ด๋ ‡๊ฒŒ ํŒ€์›๋ถ„๊ณผ ํ•จ๊ป˜ 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•ด ๋ณด์•˜๋‹ค.

 

๋งŒ์•ฝ ๋ฐฉ๋ฒ•1์„ ์ง„ํ–‰ํ–ˆ์„ ๊ฒฝ์šฐ์— ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ํ† ํฐ ๋‚ด์šฉ์„ ์ผ์ผํžˆ ํ™•์ธํ•ด ์š”๊ตฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์—

๊ฐ„ํŽธํ•  ์ˆ˜ ์žˆ์œผ๋‚˜ 2๋ฒˆ์„ ์™”๋‹ค๊ฐ”๋‹ค ๋ฐ˜๋ณตํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํšจ์œจ์„ฑ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ๋ฐฉ๋ฒ•2๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ† ํฐ์ •๋ณด๋ฅผ ํ™•์ธํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฒˆ๊ฑฐ๋กœ์šธ ์ˆ˜๋Š” ์žˆ์ง€๋งŒ

ํ•œ๋ฒˆ ์ œ๋Œ€๋กœ ๋ณด๋‚ด๋ฉด ์™”๋‹ค๊ฐ”๋‹ค ํ•  ํ•„์š”๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์˜คํžˆ๋ ค ๋ถ€๋‹ด์ด ์ ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

 

๋งŒ์•ฝ์— ์„œ๋ฒ„์ž…์žฅ์—์„œ ์ƒ๊ฐํ–ˆ์„ ๋•Œ์—๋Š” ๋ฐฉ๋ฒ•2๊ฐ€ ์ œ์ผ ์ข‹์€ ๋ฐฉ๋ฒ•์ด๊ธฐ๋Š” ํ•˜์ง€๋งŒ

ํ”„๋ก ํŠธ์—”๋“œ ๋ถ„๋“ค์—๊ฒŒ ๋ฌด๋ฆฌํ•œ ์š”๊ตฌ๊ฐ€ ๋ ๊นŒ๋ด ์กฐ์‹ฌ์Šค๋Ÿฝ๊ฒŒ ์—ฌ์ญค๋ดค๋”๋‹ˆ

๊ฐ์‚ฌํ•˜๊ฒŒ๋„ ๋ฐฉ๋ฒ•2๋ฅผ ํฌ๋งํ•œ๋‹ค๊ณ  ํ•˜์…”์„œ ๊ทธ๋ ‡๊ฒŒ ์ง„ํ–‰ํ•˜๊ธฐ๋กœ ํ•˜์˜€๋‹ค.

 

 

์ผ๋‹จ์€ ๋ณธ๊ฒฉ์ ์œผ๋กœ ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ์„ ๋งŒ์ง€๊ธฐ ์ „์— ๊ธฐ์กด ์ฝ”๋“œ์—์„œ ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ฉ”์‹œ์ง€๋ฅผ ๋‹ฌ๋ฆฌํ•˜์—ฌ

๋ณด๊ธฐ ์‰ฝ๊ฒŒ ์ˆ˜๋„์ฝ”๋“œ์™€ ํ•จ๊ป˜ ์กฐ๊ฑด๋ฌธ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ๋‹ค๋“ฌ์–ด ์ฃผ์—ˆ๋‹ค.

 

์ฝ”๋“œ์— ๋Œ€ํ•ด์„œ ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•ด๋ณด์ž๋ฉด

์ผ๋‹จ์€ ํ•ด๋‹น ์ฝ”๋“œ๊ฐ€ ์„œ๋ฒ„์—์„œ ๋งŒ๋“  accessToken์ธ์ง€๋ฅผ ํ™•์ธ์„ ํ•œ ๋‹ค์Œ, ์•„๋‹๊ฒฝ์šฐ์—” refreshToken์ธ์ง€ ์žฌํ™•์ธ์„ ํ•˜๊ณ 

๋งŒ์•ฝ refreshToken์ผ ๊ฒฝ์šฐ์—” ์œ ํšจ๊ธฐ๊ฐ„์ด ๋งŒ๋ฃŒ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜์—ฌ,

์œ ํšจ๊ธฐ๊ฐ„์ด ๋‚จ์•„์žˆ๋‹ค๋ฉด ์•ก์„ธ์Šค ํ† ํฐ์„ ๊ฐฑ์‹ ํ•˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์žฌ๋กœ๊ทธ์ธ ํ•˜๋„๋ก ์œ ๋„ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์˜ˆ์ •์ด๋‹ค.

 

ํ† ํฐ์„ ์—ฐ์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ† ํฐ์ด ์–ธ์ œ ๋งŒ๋ฃŒ๋˜๋Š”์ง€์— ๋Œ€ํ•ด์„œ ์•Œ์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—

์ฝ˜์†”๋กœ๊ทธ๋กœ ๋ฐ›์•„์˜ค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•ด ๋ณด๋‹ˆ

 

ํ† ํฐ์˜ ํŽ˜์ด๋กœ๋“œ ๋ถ€๋ถ„์ด ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

๊ทธ๋Ÿฐ๋ฐ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ iat๋Š” ํ† ํฐ์ƒ์„ฑ์‹œ๊ฐ„์ด๊ณ , exp๋Š” ํ† ํฐ ๋งŒ๋ฃŒ์‹œ๊ฐ„์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ณ ๋Š” ์žˆ์—ˆ์ง€๋งŒ

์‹œ๊ฐ„๊ณ„์‚ฐ์ด ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”์ง€๋ฅผ ์ž˜ ๋ชจ๋ฅด๊ณ  ์žˆ์–ด์„œ ์–ด๋–ป๊ฒŒ ๊ณ„์‚ฐํ•ด์•ผํ• ์ง€์— ๋Œ€ํ•ด

๊นŠ์€ ๊ณ ๋ฏผ์„ ๋˜๋‹ค์‹œ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

 

๊ทธ๋Ÿฐ๋ฐ ์ƒ๊ฐํ•ด ๋ณด๋‹ˆ Date.now()๋ฅผ ์ž…๋ ฅํ–ˆ์„๋•Œ์™€ ์ˆซ์ž์˜ ํ˜•ํƒœ๊ฐ€ ๋งค์šฐ ๋น„์Šทํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋Š๊ผˆ๊ณ ,

์–ด๋–ป๊ฒŒ Date ํ˜•์‹์—์„œ ํ† ํฐ์˜ exp์ฒ˜๋Ÿผ ๊ฐ’์„ ๋ฐ”๊ฟ€์ˆ˜ ์žˆ๋Š”์ง€์— ๋Œ€ํ•œ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๊ฒ€์ƒ‰์„ ํ•ด๋ณด์•˜๋‹ค.

 

 

Unable to set Exp and Iat for JWT correctly

I am a bit stumped by this one. I am trying to set up a valid JWT. I am using node.js with the jsonwebtoken middleware. I have followed the documentation located on the repo (located here), but I k...

stackoverflow.com

 

๊ทธ๋ž˜์„œ ํ™•์ธํ•ด๋ณด๋‹ˆ Date.now( ) ํ•œ ๊ฐ’์—์„œ 1000์„ ๋‚˜๋ˆˆ ๊ฐ’์ด ํ† ํฐ์—์„œ ๋‚˜์˜จ ๊ทธ ๊ฐ’์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

๊ทธ๋ž˜์„œ ์ด๋ฅผ ํ™œ์šฉํ•ด์„œ ํ† ํฐ์˜ exp๊ฐ€ ํ˜„์žฌ ์‹œ๊ฐ„๋ณด๋‹ค ํด ๊ฒฝ์šฐ ๋งŒ๋ฃŒ๋œ ๊ฑฐ๋ผ๊ณ  ํŒ๋‹จํ•œ ํ›„

์žฌ๋กœ๊ทธ์ธ์„ ํ•˜๋„๋ก ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•˜๊ณ ,

์œ ํšจ์‹œ๊ฐ„์ด ๋‚จ์•˜์„ ๊ฒฝ์šฐ์—” ์•ก์„ธ์Šค ํ† ํฐ์„ ๊ฐฑ์‹ ํ•˜๊ณ  ์ƒˆ๋กœ ๋งŒ๋“  ํ† ํฐ์„ header์—

๋„ฃ์–ด์„œ ์‘๋‹ต์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด ์ฃผ์—ˆ๋‹ค.

 

์ด ์ฝ”๋“œ์— ๋Œ€ํ•ด์„œ๋Š” ์•„์ง ํ”„๋ก ํŠธ๋ถ„๋“ค๊ณผ ๋งž์ถ”์–ด ๋ณธ ๊ฑด ์•„๋‹ˆ์ง€๋งŒ

๊ทธ๋ž˜๋„ ์ฒ˜์Œ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ณด๋‹จ ํ›จ์”ฌ ๋‚˜์€ ๊ฒƒ ๊ฐ™๋‹ค ใ…Žใ…Žใ…Ž

 

์ด์ œ ์–ด๋Š์ •๋„ ์ „๋ฐ˜์ ์ธ ์ฝ”๋“œ๊ตฌํ˜„์€ ์™„๋ฃŒ๋˜์–ด์„œ

๋‚ด์ผ์€ ๋ฐฐํฌ๋ฅผ ์ง„ํ–‰ํ•˜์ง€ ์•Š์„๊นŒ ์‹ถ๋‹ค.

 

route53์ด ๋ฌด์„ญ๊ตฌ๋‚˜.... ใ…‹ใ…‹ใ…‹ใ…‹

 

 


 

 

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€