...

ํฌ์คํธ๋งจ ์๋๋ฆฌ์ค ํ ์คํ
๋ค์ SNS ์๋น์ค ํํ์ด์ง๋ฅผ ํ ์คํธ ํ๋ค๊ณ ๊ฐ์ ํด๋ณด์.
์ฐ์ ๋ก๊ทธ์ธ api๋ฅผ ์์ฒญํด ๋ก๊ทธ์ธ์ด ์๋๋์ง ํ์ธํ๊ณ , api ์์ฒญ์ผ๋ก ๊ฒ์๋ฌผ์ ์์ฑํ์ฌ ๊ธ์ ์ฌ๋ ค๋ณผ ๊ฒ์ด๋ค.
๋จ, ๊ฒ์๋ฌผ์ ์์ฑํ ๋ ๋ก๊ทธ์ธ ์ํ์ด์ฌ์ผ ํ๋๋ฐ, ๋ณดํต ์ฌ์ฉ์๊ฐ ํํ์ด์ง์ ๋ก๊ทธ์ธ ํ๋์ง ์ํ๋์ง ์ฌ๋ถ๋ ์ธ์ ์ฟ ํค๋ฅผ ํตํด ์ธ์ฆํ๋ค.
๋ฐ๋ผ์ ์ด๋ฒ ํฌ์คํ ์์๋ ๋ก๊ทธ์ธ api ์์ฒญ์ ํตํด ์ฌ์ฉ์์ ์ธ์ ์ฟ ํค๋ฅผ ์ป์ด, ๊ธ์ฐ๊ธฐ api ์์ฒญ์ ์ธ์ ์ฟ ํค๋ฅผ ๋ฃ์ด ๊ธ์ฐ๊ธฐ ๋์์ ํ๋ ์๋๋ฆฌ์ค๋ฅผ ํ ์คํธ ํด๋ณด๋ ์๊ฐ์ ๊ฐ์ ธ๋ณผ ๊ฒ์ด๋ค.
์ค์ ์๋น์ค ๋์ ํ ์คํธ
์ค์ ํํ์ด์ง์์ UI ๋ฒํผ๋ค์ ๋๋ฌ ๋ก๊ทธ์ธ๊ณผ ๊ธ์ฐ๊ธฐ๋ฅผ ํ๋ฉด ์ด๋ป๊ฒ ์๋ฒ์ ํต์ ์ด ์ด๋ฃจ์ด์ง๋์ง ๋จผ์ ๋ณด์.
๋ค์๊ณผ ๊ฐ์ SNS ํํ์ด์ง์์ ์งํํด๋ณธ๋ค๊ณ ๊ฐ์ ํ์.

F12๋ฅผ ๋๋ฌ ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ํค๊ณ , ๊ณ์ ๋ก๊ทธ์ธ์ ์งํ ํ๋ค. (ํ์๊ฐ์ ์ ๋๋ง์ณค๋ค๊ณ ๊ฐ์ )


๋ก๊ทธ์ธ์ ์งํํ๋ฉด ์๋ฒ๋ก http://localhost:8002/auth/login ์ด๋ผ๋ REST API๊ฐ ์์ฒญ๋จ์ ํ์ธํ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ๋ก๊ทธ์ธ ๊ฒฐ๊ณผ์ ๋ํ ์ธ์ ์ฟ ํค(connect.sid)๋ฅผ ์ป๊ฒ ๋๋๋ฐ, ์ด ์ธ์ ์ฟ ํค๋ฅผ ์๋ฒ์ ์์ฒญํ ๋๋ง๋ค ๋ธ๋ผ์ฐ์ ์์ ๋ณด๋ด ๋ด๊ฐ ์ง๊ธ ๋ก๊ทธ์ธํ ์ฌ์ฉ์์์ ์๋ฒ๋ก๋ถํฐ ์๋ณํ๊ฒ ๋ง๋ ๋ค.
์๋จ์ Payload ํญ์ ๋ณด๋ฉด, ๋ก๊ทธ์ธ api๋ฅผ ๋ณด๋ผ๋ ์ด๋ค body ํ๋ผ๋ฏธํฐ๋ฅผ ๋ณด๋๋์ง ์์ ์๋ค.
๋ก๊ทธ์ธ์ ํ์ผ๋ฉด ์ด์ ๊ธ์ฐ๊ธฐ ํ์ฌ ๊ฒ์๊ธ์ ๋ฐํํด๋ณด์.



์ด๋ ๊ฒ ์๋ฒ ์ฝ๋๋ฅผ ๋ณด์ง ์์๋, ์ด๋ป๊ฒ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ REST API ํต์ ์ด ์ด๋ฃจ์ด์ง๋์ง ์์๋ดค๋ค.
๋ก๊ทธ์ธ๊ณผ ๊ธ์ฐ๊ธฐ ๊ณผ์ ์์ ์์ฒญํ REST API URL ๊ฐ๊ณผ, Payload์ Body ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํ์ฌ, POSTMAN์์ API ์๋๋ฆฌ์ค ํ ์คํธ ์๋ํ๋ฅผ ์งํํด๋ณด์.
REST API ํ ์คํธ
๋จผ์ ์ํฌ์คํ์ด์ค์ ์ปฌ๋ ์ ์ Nord Bird ๋ผ๋ ์ปฌ๋ ์ ์ ๋ง๋ค๊ณ login๊ณผ post๋ผ๋ request๋ฅผ ๋ง๋ค์ด ๋ฑ๋กํ๋ค.

๋ก๊ทธ์ธ ์์ฒญ ํ ์คํธ
์ด์ login request ํญ๋ชฉ์ผ๋ก๊ฐ api๋ฅผ ์์ฑํด์ฃผ์

๊ทธ๋ฆฌ๊ณ ์๋์ ๊ฐ์ด ํ ์คํธ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๋ค. (ํ ์คํธ ์คํฌ๋ฆฝํธ์ ๊ดํด์ ์ด ๊ธ์ ์ฐธ๊ณ ํ๊ธธ ๋ฐ๋๋ค)
pm.test("๋ก๊ทธ์ธ ์ฑ๊ณต !!", () => {
pm.response.to.have.status(200); // ๋ง์ผ 200 status ๋ฉด
const cookies = pm.cookies.get('connect.sid'); // connect.sid ์ฟ ํค๊ฐ์ ์ป์ด ๋ณ์์ ์ ์ฅ
console.log(`์ฟ ํค ๊ฐ : ${cookies}`);
pm.environment.set("set-cookie", cookies); // set-cookie ๋ผ๋ ํ๊ฒฝ๋ณ์์ ์ฟ ํค๊ฐ์ ์ ์ฅ
})

์ด์ ๋ก๊ทธ์ธ REST API๋ฅผ Sendํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๊ฒฐ๊ณผ๊ฐ์ ๋ฐ๊ฒ ๋๋ค.
๊ฒฐ๊ณผ๊ฐ์์ Cookies ํญ๋ชฉ์ ๋ค์ด๊ฐ๋ณด๋ฉด, connect.sid๋ผ๋ ์ธ์ ์ฟ ํค ๊ฐ์ ์ป๊ฒ ๋๋ ๊ฑธ ๋ณผ ์ ์๋ค.
์ด ์ธ์ ์ฟ ํค๋ฅผ Postman ํ ์คํธ ์คํฌ๋ฆฝํธ์์ set-cookies ๋ผ๋ ํ๊ฒฝ๋ณ์์ ์ ์ฅํ๋ผ๊ณ ์ฝ๋ฉํ์๋ค.
์ค์ ๋ก ํ๊ฒฝ๋ณ์ ํญ๋ชฉ์ ๋ณด๋ฉด ์ ๋ค์ด๊ฐ์์์ ๋ณผ ์ ์๋ค.

๊ธ์ฐ๊ธฐ ์์ฒญ ํ ์คํธ
๊ทธ๋ผ ์ด ์ธ์ ์ฟ ํค ๊ฐ์ ํค๋์ ๋ฃ์ด ๊ธ์ฐ๊ธฐ REST API ์์ฒญ์ ํด๋ณด์.




API ํ ์คํธ๊ฐ PASS ๋จ์ ํ์ธ ํ ์ ์๋ค.
์ค์ ๋ก ํํ์ด์ง์ ๊ฐ๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ด, ํฌ์คํธ๋งจ API ์กฐ์์ผ๋ก๋ง ๋ก๊ทธ์ธํ๊ณ ๊ธ๋ ์ฐ๋ ์๋๋ฆฌ์ค ํ ์คํ ์ ์งํํ ๊ฒ์ด๋ค.

์ด ๊ธ์ด ์ข์ผ์ จ๋ค๋ฉด ๊ตฌ๋ & ์ข์์
์ฌ๋ฌ๋ถ์ ๊ตฌ๋
๊ณผ ์ข์์๋
์ ์์๊ฒ ํฐ ํ์ด ๋ฉ๋๋ค.