Memo/22๋…„ TIL

0322 ~ 0323 TIL (์˜ค๋Š˜ ํ•˜๋ฃจ ์ •๋ฆฌ)

skyey94 2022. 3. 22. 18:09

| 0322 ~ 0323

๐Ÿ“‘ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ

  • ๊ณผ์ œ ์ „ํ˜• - ์™„๋ฃŒ
  • ์ž์†Œ์„œ ์ž‘์„ฑ 
  • ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด ์ •๋ฆฌ
    • ๊ทธ๋™์•ˆ ๋ฏธ๋ฃจ๋˜ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด๋ฅผ ๋ธ”๋กœ๊ทธ์— ์ •๋ฆฌ
    • ์ฝ”ํ…Œ ์ค€๋น„ -> ๊ทธ๋™์•ˆ ํ’€์—ˆ๋˜ ํ’€์ด ๋‹ค์‹œ ๋ณด๋ฉด์„œ ์žฌํ’€์ด
  • CS ์ •๋ฆฌ
    • JWT vs Session vs Cookie (๊ฐ„๋‹จ ์š”์•ฝ ์ •๋ฆฌ) -> TIL์— ์ž‘์„ฑํ•˜๊ธฐ์—๋Š” ๊ธธ์–ด์งˆ ๊ฒƒ ๊ฐ™์•„์„œ ์ถ”ํ›„ ์ฝ”๋“œ์™€ ํ•จ๊ป˜ ์•„ํ‹ฐํด๋กœ ์ž‘์„ฑ ์˜ˆ์ •)

 

  • ์ฟ ํ‚ค
    • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์–ด๋– ํ•œ ์›น ์‚ฌ์ดํŠธ๋ฅผ ๋ฐฉ๋ฌธํ•  ๊ฒฝ์šฐ, ๊ทธ ์‚ฌ์ดํŠธ๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ์˜ ๋ธŒ๋ผ์šฐ์ €์— ์„ค์น˜๋˜๋Š” ์ž‘์€ ๊ธฐ๋ก ์ •๋ณด ํŒŒ์ผ
    • ๋‹จ์ 
      • ๋ณด์•ˆ์— ์ทจ์•ฝ
        • ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ ์‹œ ์ฟ ํ‚ค์˜ ๊ฐ’์„ ๊ทธ๋Œ€๋กœ ๋ณด๋‚ธ๋‹ค.
        • ์œ ์ถœ ๋ฐ ์กฐ์ž‘ ๋‹นํ•  ์œ„ํ—˜์ด ์กด์žฌํ•œ๋‹ค.
      • ์ฟ ํ‚ค์˜ ์‚ฌ์ด์ฆˆ๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ๋„คํŠธ์›Œํฌ์˜ ๋ถ€ํ•˜๊ฐ€ ์‹ฌํ•ด์ง„๋‹ค.
  • ์„ธ์…˜
    • ์„ธ์…˜์€ ๋น„๋ฐ€๋ฒˆํ˜ธ ๋“ฑ ํด๋ผ์ด์–ธํŠธ์˜ ์ธ์ฆ ์ •๋ณด๋ฅผ ์ฟ ํ‚ค๊ฐ€ ์•„๋‹Œ ์„œ๋ฒ„ ์ธก์—์„œ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
    • ์žฅ์ 
      • ์ฟ ํ‚ค๋ฅผ ํฌํ•จํ•œ ์š”์ฒญ์ด ์™ธ๋ถ€์— ๋…ธ์ถœ๋˜๋”๋ผ๋„ ์„ธ์…˜ID ์ž์ฒด๋Š” ์œ ์˜๋ฏธํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๊ดœ์ฐฎ๋‹ค.
    • ๋‹จ์ 
      • ์„œ๋ฒ„์—์„œ ์„ธ์…˜ ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์š”์ฒญ์ด ๋งŽ์•„์ง€๋ฉด ์„œ๋ฒ„์— ๋ถ€ํ•˜๊ฐ€ ์‹ฌํ•ด์ง„๋‹ค.
  • JWT
    • ์ธ์ฆ์— ํ•„์š”ํ•œ ์ •๋ณด๋“ค์„ ์•”ํ˜ธํ™”์‹œํ‚จ ํ† ํฐ์„ ์˜๋ฏธ
    • .(์˜จ์ )์„ ๊ตฌ๋ถ„์ž๋กœ 3๊ฐ€์ง€ ๋ฌธ์ž์—ด์˜ ์กฐํ•ฉ
      • Header (์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ํ† ํฐ์˜ ํƒ€์ž…์„ ์ง€์ •)
      • Payload (ํ† ํฐ์— ๋‹ด์„ ์ •๋ณด ex. name) (key-value์˜ ํ˜•์‹์ด๋‹ค.)
        • ํ•œ์Œ์˜ ์ •๋ณด๋ฅผ Claim ์ด๋ผ ํ•œ๋‹ค.
      • Signature
        • ํ† ํฐ์˜ ์œ„๋ณ€์กฐ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š”๋ฐ ์‚ฌ์šฉ
        • ์„œ๋ฒ„์—์„œ ์žˆ๋Š” ๋น„๋ฐ€ํ‚ค๋ฅผ ์ด์šฉ
        • Header์™€ Payload๋ฅผ ๋”ํ•˜์—ฌ ๋น„๋ฐ€ํ‚ค๋กœ ํ•ด์‹ฑํ•˜์—ฌ ์ƒ์„ฑ
          • Header์™€ Payload๋Š” ์ธ์ฝ”๋”ฉ ๊ฐ’์ด๋ผ ์ œ 3์ž๊ฐ€ ํ™•์ธ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, Signature๋Š” ๋ถˆ๊ฐ€๋Šฅํ•จ
    • ์žฅ์ 
      • ํ™•์žฅ์„ฑ์ด ์ข‹๋‹ค
      • ํ† ํฐ์„ ํ™œ์šฉํ•˜์—ฌ ์†Œ์…œ ๋กœ๊ทธ์ธ์—๋„ ํ™œ์šฉ๊ฐ€๋Šฅ
      • ์ธ์ฆ ์ •๋ณด์— ๋Œ€ํ•œ ๋ณ„๋„์˜ ์ €์žฅ์†Œ๊ฐ€ ํ•„์š”์—†๋‹ค.
    • ๋‹จ์ 
      • JWT๋Š” ํ† ํฐ์˜ ๊ธธ์ด๊ฐ€ ๊ธธ์–ด, ์ธ์ฆ ์š”์ฒญ์ด ๋งŽ์•„์งˆ์ˆ˜๋ก ๋„คํŠธ์›Œํฌ ๋ถ€ํ•˜๊ฐ€ ์‹ฌํ•ด์ง„๋‹ค.
    • ๋‹จ์ ์„ ๋ณด์™„ํ•œ ์ „๋žต
      • ๋งŒ๋ฃŒ ๊ธฐํ•œ์„ ์งง๊ฒŒ ์„ค์ •
        • ํ† ํฐ์ด ํƒˆ์ทจ๋˜๋”๋ผ๋„, ๊ดœ์ฐฎ๊ฒŒ
        • ํ•˜์ง€๋งŒ ๋กœ๊ทธ์ธ ๊ณ„์†ํ•ด์•ผํ•ด์„œ ๋ถˆํŽธํ•จ
      • ์Šฌ๋ผ์ด๋”ฉ ์„ธ์…˜
        • ์„œ๋น„์Šค๋ฅผ ์ง€์†์ ์œผ๋กœ ์ด์šฉํ•˜๋ฉด ํ† ํฐ์˜ ๋งŒ๋ฃŒ ๊ธฐํ•œ์„ ์ž๋™์œผ๋กœ ๋Š˜๋ฆฌ๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•
      • ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ
        • access token๋ณด๋‹ค ๋งŒ๋ฃŒ์‹œ๊ฐ„์ด ๊ธด ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ์„ ๋ฐœ๊ธ‰
        • access token์ด ๋งŒ๋ฃŒ๋˜์—ˆ์„ ๋•Œ ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ์„ ์‚ฌ์šฉํ•˜์—ฌ access token์˜ ์žฌ๋ฐœ๊ธ‰์„ ์š”์ฒญ
        • ์„œ๋ฒ„๋Š” DB์— ์ €์žฅ๋œ ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ๊ณผ ๋น„๊ตํ•˜์—ฌ ์œ ํšจํ•œ ๊ฒฝ์šฐ ์ƒˆ๋กœ์šด access token์„ ๋ฐœ๊ธ‰
        • ์ด๋ฅผ ์œ„ํ•ด์„œ, ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ์„ ๋ณ„๋„์˜ ์ €์žฅ์†Œ์— ์ €์žฅํ•ด์•ผ ํ•œ๋‹ค.

 

 

๐Ÿ“– ํ•˜๋ฃจ ์ •๋ฆฌ

  • ๋ฉฐ์น ๋™์•ˆ ๋ธ”๋กœ๊ทธ์— TIL ์ž‘์„ฑํ•  ํ‹ˆ๋„ ์—†์ด ๋ฐ”์˜๊ฒŒ ์ง€๋ƒˆ๋‹ค. ์ž์†Œ์„œ๋„ ์“ฐ๊ณ , ๊ณผ์ œ ์ „ํ˜•๋„ ์ฐธ์—ฌํ•˜๊ณ , ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋„ ์ฐธ์—ฌํ•˜๊ณ .. ์˜ค๋Š˜์—์„œ์•ผ ์–ด๋Š์ •๋„ ํ•ด๊ฒฐ์ด ๋˜์–ด์„œ ๋‹ค์‹œ ๊ธ€์„ ์“ฐ๊ฒŒ ๋˜์—ˆ๋‹ค. ์ข‹์€ ๊ฒฐ๊ณผ๊ฐ€ ์žˆ..์–ด์•ผ ํ•˜๋Š”๋Ž‹ใ…Ž

  • Notion์— ๋”ฐ๋กœ CS ๊ด€๋ จ ๊ธฐ๋ก์„ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ ์žฌ์ฐจ ๋ณด๊ฒŒ๋˜์„œ ๋„์›€์ด ๋งŽ์ด ๋˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ์ž‘์„ฑํ•œ ๋‚ด์šฉ ์ค‘ ๋ช‡๋ช‡์€ ๋”ฐ๋กœ ๋ธ”๋กœ๊ทธ์—๋„ ํฌ์ŠคํŒ…ํ•ด๋ณผ ์˜ˆ์ •์ด๋‹ค.