๐Ÿง‘‍๐Ÿ’ป Web/JavaScript

Netilfy ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ”„๋กœ์ ํŠธ ๋ฐฐํฌํ•  ๋•Œ API key ์ˆจ๊ธฐ๊ธฐ

Lennon 2022. 2. 12. 20:41
728x90
๋ฐ˜์‘ํ˜•

API Key๋ฅผ ์ˆจ๊ธฐ๋Š” ์ด์œ ?

API Key์˜ ๋Œ€๋ถ€๋ถ„์€ ๊ฐœ์ธ๋งˆ๋‹ค ํ‚ค๊ฐ’์ด ๋‹ค๋ฅด๊ณ , ํ‚ค ๊ฐ’์ด ์•…์šฉ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋กœ์ปฌ๋กœ ์ž‘์—…ํ• ๋•Œ๊ฐ€ ์•„๋‹Œ ๋ฐฐํฌํ•  ๋•Œ ๊ผญ๊ผญ ์ˆจ๊ฒจ์•ผํ•œ๋‹ค. 

 

๋Œ€๋ถ€๋ถ„ API Key๋ฅผ ์ˆจ๊ธธ ๋•Œ ํ‚ค์— ๋Œ€ํ•œ .js ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ , .gitignore์— .js ํŒŒ์ผ์„ ์ž…๋ ฅํ•ด ๊นƒํ—ˆ๋ธŒ์— commit๋˜์ง€ ์•Š๋„๋ก ๋ฐฉ์ง€ํ•  ๊ฒƒ์ด๋‹ค.

ํ—ˆ๋‚˜ Netilfy์ฒ˜๋Ÿผ ๊นƒ๊ณผ ์—ฐ๋™ํ•ด ์‹ค์‹œ๊ฐ„ ๋ฐฐํฌ๊ฐ€ ์ด๋ฃจ์–ด์ง€๋Š” ๋ฐฉ์‹์—์„  ํ•ด๋‹น Key๊ฐ’์„ ๊ฐ€์ ธ์˜ค์ง€ ๋ชปํ•ด ์˜ˆ์ƒ์น˜๋ชปํ•œ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค.

๊ทธ๋ ‡๋‹ค๊ณ  key๊ฐ’์„ ๊นƒํ—ˆ๋ธŒ์— ๊ณต๊ฐœํ•˜๋Š” ๊ฑด ๊บผ๋ ค์ง„๋‹ค.

 

์šฐ์„  ์‹œ์ž‘ํ•˜๊ธฐ ์•ž์„œ ๊นƒํ—ˆ๋ธŒ์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” API key๊ฐ’์ด ๋“ค์–ด์žˆ๋Š” .jsํŒŒ์ผ์ด .gitignore์— ์ ์šฉ๋˜์–ด์žˆ๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ Netlify์™€ ์—ฐ๋™ํ•˜๊ณ  ์ง„ํ–‰ํ•˜์ž.

๊ฒ€์ƒ‰ํ•˜๋ฉด ์‰ฝ๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

Key ์ˆจ๊ธฐ๊ธฐ

Netlify๋Š” Build command๋ฅผ ์ง€์›ํ•œ๋‹ค.

 

Netlify์— ๋“ค์–ด๊ฐ€ ๋ฐฐํฌํ•œ Site -> Site settings -> Bulid & deploy -> Build settings ์ˆœ์„œ๋กœ ๋“ค์–ด๊ฐ€๋ณด์ž.

๊ทธ๋Ÿผ Build command๋ผ๊ณ  ์ ํ˜€์žˆ๋Š” ๋ถ€๋ถ„์„ ์ฐพ์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. 

 

ํ•ด๋‹น๋ถ€๋ถ„์— key๊ฐ’์„ ์ ์šฉํ•œ ์ƒˆ๋กœ์šด ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด์„œ ์ ์šฉํ•œ๋‹ค๋ฉด? ํ”„๋กœ์ ํŠธ๋Š” ์ •์ƒ์ ์œผ๋กœ ๋Œ์•„๊ฐˆ ๊ฒƒ์ด๋‹ค.

 

Netilfy๋Š” ๋ฐฐํฌํ•ด์„œ ๋นŒ๋“œํ•  ๋•Œ ์ฒซ ์œ„์น˜๋Š” ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์˜ index.html์ด ์žˆ๋Š” ์ „์—ญ ์œ„์น˜์ด๋‹ค.

์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋ณด๋ฉด configํด๋”์— key.js ํŒŒ์ผ์ด .gitignore ๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

//key.js

const KAKAO_KEY = 'bbddaf786e32df1d3123213213211bb28dfd6104d012';

export default KAKAO_KEY;

ํ•ด๋‹น key.js ํŒŒ์ผ์ด ๊นƒํ—ˆ๋ธŒ์— ์—†์œผ๋ฏ€๋กœ ๋ฐฐํฌํ•  ๋•Œ ์˜ค๋ฅ˜๊ฐ€ ๋‚œ๋‹ค. Build command๋ฅผ ์ด์šฉํ•ด ํ•ด๊ฒฐํ•ด๋ณด๋„๋ก ํ•˜์ž.

 

์œ„ ๋””๋ ‰ํ† ๋ฆฌ์™€ ๊ฐ™์€ ๊ฒฝ์šฐ์—”

cd js/config  && echo -e "const KAKAO_KEY = 'key๊ฐ’';\n\n export default KAKAO_KEY;" > key.js

์™€ ๊ฐ™์ด ์ž…๋ ฅํ•ด์ค€๋‹ค. ๋ณธ์ธ์˜ ํ”„๋กœ์ ํŠธ์— ์•Œ๋งž๊ฒŒ ์ˆ˜์ •ํ•˜๋ฉฐ ์ž‘์„ฑํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

์šฐ์„  Netilfy๋Š” ์ฒ˜์Œ ๋นŒ๋“œํ•  ๋•Œ ์‹œ์ž‘์ ์€ index.html์ด ์žˆ๋Š” ์œ„์น˜์ด๋‹ค. config์•ˆ์— key.js๋กœ ๋„ฃ๋Š” ๊ฒŒ ๋ชฉํ‘œ์ด๋ฏ€๋กœ 

 

cd js/config ๋ฅผ ํ•˜๋ฉด ํ•ด๋‹น ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™๋œ๋‹ค. ๊ทธ ํ›„ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋“ฏ์ด ์œ„ ์ฒ˜๋Ÿผ ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค. ๋งˆ์ง€๋ง‰ > ๋Š” ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ key.jsํŒŒ์ผ๋กœ ๋งŒ๋“ ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.

๊ฒฐ๊ตญ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด ๋˜‘๊ฐ™์ด ๋งŒ๋“  ํ›„ ๋˜‘๊ฐ™์€ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š” command์ด๋‹ค.

cd js/config // cd/ js/config๋กœ ์ด๋™  

&& echo -e "

const KAKAO_KEY = 'key๊ฐ’';

export default KAKAO_KEY;" // ์ฝ”๋“œ ์ž‘์„ฑ  

> key.js // key.js ํŒŒ์ผ ๋งŒ๋“ฆ

์œ„์™€ ๊ฐ™์ด ๋™์ž‘๋˜๋ฉฐ, ๋นŒ๋“œํ•  ๋•Œ ํ•ด๋‹น ์ปค๋งจ๋“œ๊ฐ€ ์ž…๋ ฅ๋˜์–ด .gitignore๋˜์–ด์žˆ๋˜ key.js๋ฅผ ๋˜‘๊ฐ™์ด ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ณ , ์‹ค์ œ๋กœ ์ž˜ ๋™์ž‘ํ•œ๋‹ค.

 

๋ฆฌ์•กํŠธ๋‚˜ ๋ทฐ ๋“ฑ์€ dotenv๋ฅผ ์ด์šฉํ•ด .env ํŒŒ์ผ๋กœ ์‰ฝ๊ฒŒ ํ‚ค๋ฅผ ์ˆจ๊ธธ ์ˆ˜ ์žˆ์ง€๋งŒ ๋ฐ”๋‹๋ผ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๊ตฌ์„ฑ๋œ ํ”„๋ก ํŠธ์—”๋“œ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ํ‚ค๋ฅผ ์ˆจ๊ธฐ๊ธฐ ์‰ฝ์ง€ ์•Š๋‹ค.

 

๋ฌผ๋ก  ๋” ์ข‹์€ ๋ฐฉ๋ฒ•์ด ์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ๊ฐ„๋‹จํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ฐฐํฌํ•  ๋•Œ ์‰ฝ๊ฒŒ ํ‚ค๋ฅผ ์ˆจ๊ธธ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ดค๋‹ค.

728x90
๋ฐ˜์‘ํ˜•