D+135
- Final Project : 15์ผ์ฐจ -
( ํฌ์คํธ๋งจ์ผ๋ก ์นด์นด์ค API ํ ์คํธ )
์ค๋์ ์์ ๋ก๊ทธ์ธ์ ๋ํด ๊ตฌํ์ ์งํํด ๋ณด์์ผ๋ฉฐ,
์นด์นด์ค์ ๋ฑ๋กํ ๋ด ์ ๋ณด๊ฐ ํฌ์คํธ๋งจ์ ํตํด์ ๋์ค๋ ๊ฒ์ ํตํด ํ์ธํด๋ณด๊ณ ์ ๊ธฐํ๋ค๋ ๊ฒ์ ๋๊ผ๋ค.
์ค๊ฐ์ ๊ณต์๋ฌธ์๋ฅผ ์ ๋๋ก ํ์ธํด๋ณด์ง ์์์ ์ฝ๊ฐ ์ฝ์ง์ ํ๊ธฐ๋ ํ์ง๋ง
๊ทธ๋๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ฒ ๋์ด์ ๋๋ฌด๋ ๋คํ์ด์๋ค.
์ฐ์ ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋์ง๋ฅผ ํ์ธํ๊ธฐ ์ ์ 'kakao devleopers'์ ๋ด ์ฑ์ ๋ง๋ค์ด์ค์ผ ํ๋ค.
๊ทธ๋ฌ๋ฉด ์ฑ์ ๋ํ ํค๋ค์ด ์๋๋ฐ ์ ๋ณด๊ฐ ํ์ธ์ ์ํด ์ฌ์ฉ๋์ง ์๋๋ก ์ฃผ์ํด์ผํ๋ค.
์ด์ ๋ณธ๊ฒฉ์ ์ผ๋ก API๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ [์ฑ์ค์ ] - [ํ๋ซํผ] ์์ ๋๋ฉ์ธ์ด ์ ๋๋ก ์ค์ ์ด ๋์๋์ง ํ์ธํ๊ณ
๋ฐ์ Redirect URI๋ ์ ๋๋ก ์ค์ ๋์๋์ง ์ ํ์ธํด์ผ ํ๋ค.
๋ณธ๊ฒฉ ํฌ์คํธ๋งจ์ผ๋ก ํ ์คํธ๋ฅผ ํ๊ธฐ ์ ์ ์นด์นด์ค๋ก๋ถํฐ ์ด๋ป๊ฒ ์ ๋ณด๋ฅผ ๋ฐ์์ค๋์ง์ ๋ํด ๊ฐ๋ตํ๊ฒ ๋งํ์๋ฉด
๋จผ์ ๋ด๊ฐ ๊ฐ์ง๊ณ ์๋ client_id(REST APIํค)๋ฅผ ํตํด์ ์นด์นด์ค๋ก๋ถํฐ ์ธ๊ฐ์ฝ๋๋ฅผ ๋ฐ์์ค๊ณ
์ด ์ธ๊ฐ์ฝ๋๋ฅผ ํตํด ๋ค์ ์์ฒญ์ ๋ณด๋ด ์ก์ธ์คํ ํฐ๊ณผ ๋ฆฌํ๋ ์ ํ ํฐ์ ๋ฐ์์ ํ์์ ์ ๋ณด๋ฅผ ๋ฐ์์ค๋ฉด ๋๋ค.
๋ง๋กํ๋ฉด ์ดํดํ๊ธฐ ์ด๋ ค์ธ ์ ์์ผ๋ ์ด์ ๋ณธ๊ฒฉ์ ์ผ๋ก ์นด์นด์ค์์ ๋ด ์ ๋ณด๋ฅผ ๋ฝ์์ค์.
STEP 01 > ์ธ๊ฐ์ฝ๋ ๋ฐ์์ค๊ธฐ
์ธ๊ฐ์ฝ๋๋ฅผ ๋ฐ์์ค๊ธฐ ์ํด์๋ Rest API์ ์๋ ๋ฌธ์๋ฅผ ํ์ธํ๊ณ ์์์ ๋ง์ถฐ์ url์ ์์ฑํด์ค ๋ค์์
์ฃผ์์ฐฝ์ ๊ฒ์์ ์๋ํด ๋ณธ๋ค.
์นด์นด์ค API์์ ์๊ตฌํ๋ ์์์ ๋ง์ถฐ์ url์ ์ฃผ์์ฐฝ์ ๋ฃ์ด์ฃผ๋ฉด ์นด์นด์ค ๋ก๊ทธ์ธ์ ์งํํ๋ผ๋ ์ฐฝ์ด ๋จ๊ฒ ๋๋๋ฐ
์ผ๋จ ์ ๋ ฅ๋์ ๊ฐ์ ๋ฃ์ ๋ก๊ทธ์ธ๋ฒํผ์ ๋๋ฌ์ค๋ค.
๊ทธ๋ฌ๋ฉด ํ๋ฉด์ฐฝ์์๋ ํน๋ณํ ๋ณํ๋ ์์ ์ ์์ผ๋ ์ฃผ์์ฐฝ์ ํ์ธํด๋ณด๋ฉด
code๋ผ๊ณ ์ ํ ์ดํ์ ๋ฌธ์์ด์ด ๋์์๋ ๊ฒ์ ํ์ธ ํ ์ ์๋ค.
์ด๊ฒ์ด ๋ฐ๋ก ์ธ๊ฐ์ฝ๋๊ฐ ๋๋ ๊ฒ์ธ๋ฐ 'code='์ดํ์ ๊ฐ๋ค์ ๋ณต์ฌํด์ค ๋ค์์
ํฌ์คํธ๋งจ์ ์ด์ฉํด ํ ํฐ์ ๋ถ์ฌ๋ฐ๋ ํ ์คํธ๋ฅผ ์งํํด๋ณด๋ ค ํ๋ค.
STEP 02 > ํ ํฐ ๋ฐ์์ค๊ธฐ
ํ ํฐ์ ๋ฐ์์ค๋ ๊ฒ ๋ถํฐ๋ ํฌ์คํธ๋งจ์ ํ์ฉํ๋ฉด ๋๋๋ฐ ์๊น ์ฐ๋ฆฌ๊ฐ ๋ณต์ฌํ ์ธ๊ฐ์ฝ๋๋ฅผ code ๊ฐ์ ๋ฃ์ด์ฃผ๋ฉด ๋๋ค.
๊ทธ๋ฆฌ๊ณ client_secret์ ํ๊ฒฝ์ค์ ์ ๋ค์ด๊ฐ์ ON์ผ๋ก ์ค์ ๋์ด ์์ ๊ฒฝ์ฐ์
๊ฐ์ ๋ฃ์ด์ฃผ์ด์ผ ํ๋ฏ๋ก ์ ๋๋ก ํ์ธํด๋ณด๊ณ ์งํํด์ผ ํ๋ค.
์ด๋ ์ ์ผ ์ค์ํ๊ฑด Content-type์ธ๋ฐ jsonํ์์ด ์๋๋ผ application/ x-www-form-urlencoded ์ด๋ฏ๋ก
์ ๋๋ก ํ์์ ๋ง์ถฐ์ ์์ฑํด์ค์ผํ๋ฉฐ, Headers์๋ ์ ๋ ฅํด์ค์ผ ํ ํฐ์ด ์ ๋๋ก ๋ฐ์์ ธ ์จ๋ค.
ํฌ์คํธ๋งจ์ผ๋ก ์์ฑํด ์ค ๋ชจ์ต์ผ๋ก Headers์์๋ Content-Type์ ์ง์ ํด ์ฃผ๋ ๊ฒ ์์ง ์๋๋ก ํ๋ค.
์์ฒญํ์์์ ์ด๋ ๊ฒ ํ ํฐ์ด ์ค๋ ๊ฒ์ ํ์ธ ํ ์ ์๋ค.
์ด์ ์ด ํ ํฐ์ ์ด์ฉํด์ ํ์์ ์ ๋ณด๋ฅผ ๋ถ๋ฌ์ฌ ์ ์๋ค.
STEP 03 > ํ์ ์ ๋ณด ๋ถ๋ฌ์ค๊ธฐ
์ก์ธ์ค ํ ํฐ์ ๊ฐ์ ธ์๋ค๋ฉด ์ฌ์ค ๋ค๋ฅธ ๊ฑด ๋ค ๊ตฌํ์ด ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์
์๊ธฐ ์ ๋ง์ ๋ง๊ฒ API๋ฅผ ์ฌ์ฉํ๋ฉด ๋๊ธฐ๋ ํ๋๋ฐ ์ฐ๋ฆฌ๋ ํ์์ ์ ๋ณด๋ฅผ ์์์ผ ํด์ ํ์ ์ ๋ณด๋ฅผ ๋ถ๋ฌ์๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก ์ด๊ฒ๋ ํฌ์คํธ๋งจ์ผ๋ก ์ ๋ณด๋ฅผ ๋ถ๋ฌ์ฌ ์ ์๋๋ฐ
์ด๋์๋ Authorization์์ Bearer ํ์์ผ๋ก ํ์ ์ ์ง์ ํด ์ฃผ๊ณ ์ก์ธ์คํ ํฐ์ ๋ฃ์ด์ค ๋ค์์
STEP 02 ์ ๊ฐ์ ๋ฐฉ์์ผ๋ก Headers์ Content-type์ผ๋ก ๊ฐ์ ๋ฃ์ด์ sendํ๊ฒ ๋๋ฉด
๋ก๊ทธ์ธํ ํ์์ ์ ๋ณด๊ฐ ์๋ตํ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
(ํด๋น ์บก์ฒ๋ณธ์ ๊ฐ์ธ ์ ๋ณด๊ฐ ํฌํจ๋์ด ์์ด ์๋ตํฉ๋๋ค ๐ )
ํฌ์คํธ ๋งจ์ผ๋ก ์ฐ์ต๋ ํด๋ดค๊ฒ ๋ค ์ด์ ๋ณธ๊ฒฉ์ ์ผ๋ก ์ฝ๋๋ก ์ง์ ๊ตฌํ์ ํด๋ณด๋๋ก ํ์!!
(์ฝ๋๋ก ์ง์ ๊ตฌํ ํ๋๊ฑด ๋ค์ ๊ฒ์๊ธ์ ...)
'์๋ > Code-States' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[D+136] Final Project : 16์ผ์ฐจ Refresh Token ์ฐ์ฅํ๊ธฐ (1) | 2021.03.06 |
---|---|
[D+135] Final Project : 15์ผ์ฐจ(2) ์นด์นด์ค API๋ก ์์ ๋ก๊ทธ์ธ ๊ตฌํํ๊ธฐ (2) | 2021.03.04 |
[D+134] Final Project : 14์ผ์ฐจ JWT(JSON Web Token) (0) | 2021.03.03 |
[D+133] Final Project : 13์ผ์ฐจ multer ์ ์ฉํ๊ธฐ (0) | 2021.03.01 |
[D+132] Final Project : 12์ผ์ฐจ JWT(JSON Web Token) ํ์ต (0) | 2021.02.28 |
๋๊ธ