Skip to main content

์ธ์ฆ ๋ฐฉ์‹ ์•ˆ๋‚ด

ํ”Œ๋Ÿฌ๊ทธ ์˜คํ”ˆ API๋Š” API Key + Signature ๊ธฐ๋ฐ˜์˜ ์ธ์ฆ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  API ์š”์ฒญ ์‹œ ๋‘ ๊ฐ€์ง€ ์ธ์ฆ ์ •๋ณด๋ฅผ ๋ฐ˜๋“œ์‹œ ํ—ค๋”์— ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿงพ ์ธ์ฆ ํ—ค๋” ๊ตฌ์„ฑ

๋ชจ๋“  API ์š”์ฒญ ์‹œ ์•„๋ž˜ ํ—ค๋”๋ฅผ ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • X-API-KEY: ๋ฐœ๊ธ‰๋ฐ›์€ API Key
  • X-Signature: ์š”์ฒญ ๋ณธ๋ฌธ์— ๋Œ€ํ•œ HMAC ์„œ๋ช…๊ฐ’
X-Signature๊ฐ€ ์—†๋Š” ์š”์ฒญ์€ ์ธ์ฆ๋˜์ง€ ์•Š์œผ๋ฉฐ, ์„œ๋ฒ„์—์„œ ๊ฑฐ๋ถ€๋ฉ๋‹ˆ๋‹ค.
Signature๋Š” API Key ๋ฐœ๊ธ‰ ์‹œ ํ•จ๊ป˜ ์ œ๊ณต๋œ Secret Key๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜: HMAC-SHA256
  • ์„œ๋ช… ๋Œ€์ƒ: ์š”์ฒญ ๋ณธ๋ฌธ (request.body)
  • ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ธ Signature๊ฐ€ ์œ ํšจํ•œ์ง€ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค.
Signature๋Š” ์š”์ฒญ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•˜๋ฉฐ, ์œ„๋ณ€์กฐ ๋ฐฉ์ง€ ๋ชฉ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ก ์–ธ์–ด๋ณ„ ์„œ๋ช… ์˜ˆ์‹œ

API ์š”์ฒญ ์‹œ request.body๋ฅผ ๊ธฐ์ค€์œผ๋กœ HMAC-SHA256 ์„œ๋ช…์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์š”์ฒญ ๋ณธ๋ฌธ์ด ์—†์„ ๊ฒฝ์šฐ, ์ž๋™์œผ๋กœ ๋นˆ ๋ฌธ์ž์—ด("")์„ ์„œ๋ช… ๋Œ€์ƒ์œผ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.