Auth, Cookie Sprint Summary(1)

๐Ÿช cookie / session

Server

https ์ฟ ํ‚ค๋ฅผ ์ด์šฉํ•ด์„œ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋ผ

1๋‹จ๊ณ„ : ์ธ์ฆ์„œ ์—ฐ๊ฒฐํ•˜๊ธฐ

2๋‹จ๊ณ„ : ๋กœ๊ทธ์ธ ๋กœ์ง ๊ตฌํ˜„ํ•˜๊ธฐ

3๋‹จ๊ณ„ : ๋กœ๊ทธ์•„์›ƒ ๋กœ์ง ๊ตฌํ˜„

4๋‹จ๊ณ„ : ์œ ์ €์ธํฌ

(์š”์ฒญ์— ๋Œ€ํ•ด ์‘๋‹ตํ•˜๋Š” flow)

  • โ€˜users/loginโ€™์œผ๋กœ post ์š”์ฒญ
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ userId์™€ ์š”์ฒญ์— ๋‹ด๊ธด userId ๋น„๊ต, ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ password ๋น„๊ต
  • ์—†์œผ๋ฉด ์—†๋‹ค๊ณ  ์‘๋‹ต
  • ์žˆ์œผ๋ฉด โ€˜์ฟ ํ‚ค์„ค์ •โ€™์„ ํ•˜๊ณ  ok ์‘๋‹ต
  • โ€˜users/logoutโ€™์œผ๋กœ post ์š”์ฒญ
  • ์š”์ฒญ ๊ฐ์ฒด์˜ ์ฟ ํ‚ค์— ์ธ์ฆ์ •๋ณด(id) ๋‹ด๊ฒจ์žˆ๋Š”์ง€ ํ™•์ธ
  • ์ธ์ฆ์ •๋ณด ์—†์œผ๋ฉด ์—†๋‹ค๊ณ  ์‘๋‹ต
  • ์žˆ์œผ๋ฉด โ€˜์ฟ ํ‚ค๋ฅผ ์‚ญ์ œํ•˜๊ณ โ€™ ok ์‘๋‹ต
  • โ€˜users/userinfoโ€™๋กœ get ์š”์ฒญ
  • ์œ ์ €์˜ ์š”์ฒญ์˜ ์ฟ ํ‚ค์— id๊ฐ’์ด ์žˆ๋Š”์ง€ ํ™•์ธ
  • ์—†์œผ๋ฉด not authorized
  • ์žˆ์œผ๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ํ•ด๋‹นํ•˜๋Š” id๋ฅผ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์•„์„œ ์‘๋‹ต

Client

HINT: ์„œ๋ฒ„์— ๋กœ๊ทธ์ธ, ์œ ์ €์ •๋ณด, ๋กœ๊ทธ์•„์›ƒ ์š”์ฒญ์„ ํ•˜๋Š” ํ•จ์ˆ˜์˜ ํ”„๋กญ์Šค๊ฐ€ ๋น„์–ด์žˆ๋‹ค.

โ€ข ์ปดํฌ๋„ŒํŠธ ๊ตฌ์กฐ ํŒŒ์•…

โˆ˜ ์ปดํฌ๋„ŒํŠธ ๊ตฌ์กฐ๋„ ๊ทธ๋ฆฌ๊ธฐ

โ€ข ๊ฐ ์ปดํฌ๋„ŒํŠธ ํŒŒ์ผ์˜ ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ

1๋‹จ๊ณ„ : mypage.js()

2๋‹จ๊ณ„ : Login.js()

3๋‹จ๊ณ„ : App.js()

  • ํด๋ผ์ด์–ธํŠธ์—์„œ ํ•„์š”ํ•œ api ์š”์ฒญ๋“ค
  • ์•„์ด๋””/๋น„๋ฒˆ ์ž…๋ ฅํ•ด์„œ login ๋ฒ„ํŠผ -> users/login์— post ์š”์ฒญ, body๋Š” userId / password ์ •๋ณด
  • logout ๋ฒ„ํŠผ -> users/logout์— post ์š”์ฒญ๋“ค์–ด์˜ค๊ณ  ์‘๋‹ต์œผ๋กœ body๋Š” ํ•„์š”์—†๋‹ค?
  • userInfo ๋ฒ„ํŠผ? -> users/userinfo์— get ์š”์ฒญ, ์‘๋‹ต๊ฐ์ฒด์˜ data์— userInfo๊ฐ€ ๋‹ด๊ฒจ์žˆ๋‹ค

Written by@[DotoriMook]
ํ”„๋ก ํŠธ์—”๋“œ ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž ๋„ํ† ๋ฆฌ๋ฌต์˜ ๊ธฐ์ˆ ๊ฐœ๋ฐœ ๋ธ”๋กœ๊ทธ ์ž…๋‹ˆ๋‹ค.

GitHubMediumTwitterFacebook