Input + Output = True

ํ•ญํ•ด 1์ฃผ์ฐจ - ํ’€์Šคํƒ ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ (API, JWT) ๋ณธ๋ฌธ

๐Ÿ“”๊ฐœ๋ฐœ ์ผ๊ธฐ

ํ•ญํ•ด 1์ฃผ์ฐจ - ํ’€์Šคํƒ ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ (API, JWT)

IOTrue 2022. 12. 11. 21:57
API
Application Programming Interface, ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ธํ„ฐํŽ˜์ด์Šค
์†Œํ”„ํŠธ์›จ์–ด๋ผ๋ฆฌ ์„œ๋กœ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์‹ ํ˜ธ ์ฒด๊ณ„

 

ํ•ญํ•ด 1์ฃผ์ฐจ๋Š” (์ง„ํ–‰ ์ค‘) ํ’€์Šคํƒ ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ์ฃผ์ฐจ์ด๋‹ค.

์ž…ํ•™ ์‹œํ—˜ ๋ฌธ์ œ๋ฅผ ์ œ์ถœํ•˜๋ฉด์„œ ์ฃผํŠน๊ธฐ๋ฅผ ์„ ํƒํ–ˆ์ง€๋งŒ,

์•„์ง์€ ํ’€์Šคํƒ ์ฃผ์ฐจ์ด๊ธฐ์— ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋Š” ํ”„๋ก ํŠธ/๋ฐฑ์—”๋“œ๊ฐ€ ์•„๋‹ˆ๋ผ ๊ธฐ๋Šฅ ๋ณ„๋กœ ๋‹ด๋‹น์„ ๋‚˜๋ˆด๋‹ค.

[ํšŒ์›๊ฐ€์ž…/ ๋กœ๊ทธ์ธ/ ๋ฉ”์ธ/ ์ƒ์„ธ] ๊ธฐ๋Šฅ ์ค‘ ๋‚˜๋Š” '๋ฉ”์ธ ํŽ˜์ด์ง€'๋ฅผ ๋‹ด๋‹นํ–ˆ๊ณ 

๋ฉ”์ธ ํŽ˜์ด์ง€์—๋Š” [๊ธ€ ์ž‘์„ฑ/ DB ์ €์žฅ/ ๊ธ€ ๋ชฉ๋ก ์ถœ๋ ฅ]์ด ์ฃผ ๊ธฐ๋Šฅ์ด๊ณ ,

์—ฌ๊ธฐ์„œ ์„ธ๋ถ€์ ์œผ๋กœ ๋“ค์–ด๊ฐ€๋ฉด

[๊ธ€ ์ž‘์„ฑ ์นดํ…Œ๊ณ ๋ฆฌ์— ๋”ฐ๋ฅธ ์Šคํฌ๋ฆฝํŠธ ์ž๋™ ๋ถ„๋ฅ˜/ ๊ธ€ ๋ชฉ๋ก ์นดํ…Œ๊ณ ๋ฆฌ ๋ณ„ ์ถœ๋ ฅ]๋„ ํฌํ•จ๋˜์–ด์•ผ ํ•˜๊ธฐ์—

3์ผ์˜ ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ ์น˜๊ณ ๋Š” ํ•  ๊ฒƒ์ด ๋งŽ์•„ ๋ณด์˜€๋‹ค. (+ ํ™”๋ฉด๋„ ์ด์˜๊ฒŒ ๋งŒ๋“ค๊ณ  ์‹ถ์—ˆ๋‹ค)

์ค‘์š”ํ•œ ๊ฑด ๋‹ด๋‹น์„ ์„ ํƒํ•  ๋•Œ ๋ชจ๋‘ ๊ฐ์ž์˜ ์˜๊ฒฌ์ด ๋ฐ˜์˜ ๋˜์—ˆ๋‹ค๋Š” ์ ์ด๋‹ค!

๋‚˜๋Š” ๋ฉ”์ธ ํŽ˜์ด์ง€ ์ž‘์—…์„ ํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค๐Ÿ˜Ž ์ž‘์„ฑ, ์ €์žฅ, ์ถœ๋ ฅ์„ ๋” ์—ฐ์Šตํ•˜๊ณ  ์‹ถ์—ˆ๊ธฐ์—!

์›น ๊ฐœ๋ฐœ ์ข…ํ•ฉ๋ฐ˜ ์ˆ˜์—…์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ ํ–ˆ๋˜ ์‹ค์Šต๋“ค์ด ์ •๋ง ๋งŽ์€ ๋„์›€์ด ๋๊ณ 

๊ธˆ์š”์ผ ์ €๋…์— ์ž‘์—…์„ ์‹œ์ž‘ํ•ด์„œ ํ† ์š”์ผ ๋ฐค์— ๋๋‚ฌ์œผ๋‹ˆ, ์ž‘์—… ์‹œ๊ฐ„์€ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ์ง„ ์•Š์•˜๋‹ค.

 

[๊นƒ ์—๋Ÿฌ/ ์ฝ”๋“œ ์˜ค๋ฅ˜(์•Œ๊ณ ๋ณด๋ฉด ์ง„์งœ ๊ฐ„๋‹จํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•...)/ API์˜ ์ข‹์€ ์ž‘์„ฑ๋ฒ•/ ์ž‘์—… ์ „ ๊ทœ์น™ ์ •ํ•˜๊ธฐ/

ํŒ€์›๋ถ„๋“ค๊ณผ ์„œ๋กœ ๋ฌธ์ œ ๊ณต์œ  ๋ฐ ํ•ด๊ฒฐ] ๋“ฑ ์ฝ”๋”ฉ ์ž‘์—… ์™ธ์—๋„ ์‹ ๊ฒฝ ์จ์•ผํ•  ๋‹ค๋ฅธ ๋ถ€๋ถ„๋“ค์ด ๊ฝค ์žˆ์—ˆ๋‹ค.

์˜ˆ์ „์— ํผ๋ธ”๋ฆฌ์…”๋กœ ์ผ ํ–ˆ์„ ๋•Œ๋„ ๊ทธ๋žฌ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ๊ฐœ๋ฐœ ์‹ค๋ ฅ๋งŒํผ ํ˜‘์—… ๋Šฅ๋ ฅ๋„ ์ค‘์š”ํ•˜๋‹ˆ๊นŒ.

๊ทธ๋ฆฌ๊ณ  ์˜ค๋ฅ˜์™€ ์—๋Ÿฌ๋ฅผ ํ†ตํ•ด ํ•œ ๊ฐœ๋ผ๋„ ๋” ๋ญ”๊ฐ€๋ฅผ ์•Œ๊ฒŒ ๋˜๊ธฐ์—

์˜ค๋ฅ˜์™€ ์—๋Ÿฌ๋Š” ๊ณ ๋ง™๊ฒŒ ๋А๊ปด์ง„๋‹ค. (๋ฐฐ์šฐ๋Š” ๋‹จ๊ณ„๋‹ˆ๊นŒ์š”๐Ÿ˜‰)

 

์ด๋ฒˆ ํ”„๋กœ์ ํŠธ ๋Œ€ํ‘œ ํ‚ค์›Œ๋“œ๋Š” 'API์™€ JWT' ์š” 2๊ฐœ๋‹ค.

API ์ž‘์„ฑ์„ ์ œ๋Œ€๋กœ ํ•˜๊ณ , ์†Œํ†ต๋„ ์ž˜ ๋œ๋‹ค๋ฉด ํ˜‘์—…์„ ํ•˜๋ฉด์„œ ์ž‘์—… ํšจ์œจ์ด ๊ต‰์žฅํžˆ ๋งŽ์ด ์˜ฌ๋ผ๊ฐˆ ๊ฒƒ์ด๋ผ๋Š” ๊ฒƒ์„

์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋” ๋А๊ผˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  REST API ๋ผ๋Š” ๊ฐœ๋…๋„ ์ ‘ํ–ˆ๋Š”๋ฐ

์ง€๊ธˆ๋ณด๋‹ค ๋” ํฌ๊ณ , ๋” ์„ธ๋ถ€์ ์œผ๋กœ ๋“ค์–ด๊ฐ”์„ ๊ฒฝ์šฐ REST ํ•˜๊ฒŒ API๋ฅผ ์ž‘์„ฑํ•œ๋‹ค๋Š” ๊ฒƒ์€ ์•„์ง ์‰ฌ์šด ์ผ์€ ์•„๋‹Œ ๊ฒƒ ๊ฐ™๋‹ค.

์ด ๋ถ€๋ถ„์€ ๋” ํฐ ์„œ๋น„์Šค์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์ง์ ‘ ๋А๋ผ๋‹ค๋ณด๋ฉด ๋” ์™€๋‹ฟ์„ ๊ฒƒ ๊ฐ™๋‹ค. ๋‘๊ทผ๋‘๊ทผ

REST API๋ž€ : https://meetup.toast.com/posts/92  <- ์ข‹์€ ๊ธ€์ด๋‹ค!

 

๊ทธ๋ฆฌ๊ณ  JWT๋Š” ๋กœ๊ทธ์ธ ์„ธ์…˜ ๊ฐ•์˜์—์„œ ์•Œ๊ฒŒ ๋œ ๊ฒƒ์ธ๋ฐ

์•”ํ˜ธํ™”, ํ† ํฐ ๊ฐ’์„ ํ†ตํ•ด ๋ณด์•ˆ์„ฑ์ด ์šฐ์ˆ˜ํ•œ ๋กœ๊ทธ์ธ ๋ฐ ์œ ์ง€๋ฅผ ๋„์™€์ฃผ๋Š” ๊ฑฐ๋ผ๊ณ  ํ•œ๋‹ค.

์ฆ‰, DB์— ์‚ฌ์šฉ์ž์˜ ์ค‘์š” ์ •๋ณด, ํŠนํžˆ '๊ณ„์ • ๋น„๋ฐ€๋ฒˆํ˜ธ'๋ฅผ ์ €์žฅํ•  ๋•Œ

์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ์˜ ๊ฐ’์ด ๊ทธ๋Œ€๋กœ ์ €์žฅ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ

์ด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์•”ํ˜ธํ™” ์‹œ์ผœ์„œ ๋ณด์•ˆ์„ฑ์„ ๋†’์ด๋Š” ์ž‘์—…๊ณผ

ํ† ํฐ์„ ๋ฐœ๊ธ‰ํ•ด์„œ ๋กœ๊ทธ์ธ ์œ ์ง€๋ฅผ ๋” ์•ˆ์ „ํ•˜๊ฒŒ ๋„์™€์ฃผ๋Š” ์ˆ˜๋‹จ์ด๋‹ค.

๊ด€๋ จ ๊ธ€๋“ค์„ ์ฝ์–ด๋ด๋„ ์ง์ ‘ ์ž‘์—…์„ ์•ˆ ํ•ด๋ด์„œ ๊ทธ๋Ÿฐ๊ฐ€. ์•„์ง ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค.

์กฐ๋งŒ๊ฐ„ JWT๋กœ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋ฅผ ํ•œ๋ฒˆ ๋งŒ๋“ค์–ด๋ด์•ผ๊ฒ ๋‹ค. ์•Œ๊ณ ์‹ถ๋‹ค!

 

ํ•ญํ•ด ์ผ์ง€์—์„œ ๋‚˜์˜จ ๊ฐœ๋ฐœ์ ์ธ ์ด์•ผ๊ธฐ๋“ค์€ ํ•ด๋‹น ์นดํ…Œ๊ณ ๋ฆฌ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค

์šœ์‹ฌํžˆ ๊ธ€ ์˜ฌ๋ฆด๊ฒŒ์š”

alert('๊ทธ๋Ÿผ 20000๐Ÿ˜€')

 

๋ฐฑ์—”๋“œ๋„ ์žฌ๋ฏธ์žˆ๋„ค

Comments