๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ118

์Šคํ”„๋ง ๋ถ€ํŠธ ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ์„ค์ •: ์‰ฝ๊ณ  ๋น ๋ฅธ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ๊ฐ€์ด๋“œ ์Šคํ”„๋ง ๋ถ€ํŠธ(SPRING BOOT) ๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋ณต์žกํ•œ ์„ค์ •์„ ๊ฐ„์†Œํ™”ํ•ด์ฃผ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋กœ, ๊ฐœ๋ฐœ์ž๊ฐ€ ๋น ๋ฅด๊ฒŒ ํ”„๋กœ๋•์…˜ ์ˆ˜์ค€์˜ ์„œ๋น„์Šค๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•์Šต๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ์Šคํ”„๋ง ๋ถ€ํŠธ์˜ ์ •์˜์™€ ํŠน์ง• , ์Šคํ”„๋ง๊ณผ์˜ ์ฐจ์ด์  , ๊ทธ๋ฆฌ๊ณ  Spring Initializr๋กœ ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ํ•˜๊ธฐ ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.   ๋ชฉ์ฐจ ์Šคํ”„๋ง ๋ถ€ํŠธ๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ์Šคํ”„๋ง๊ณผ ์Šคํ”„๋ง ๋ถ€ํŠธ์˜ ์ฐจ์ด์  Spring Initializr๋กœ ์ฒซ ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ํ•˜๊ธฐ ์Šคํ”„๋ง ๋ถ€ํŠธ์˜ ์ฃผ์š” ์„ค์ • ํŒŒ์ผ๊ณผ ์‚ฌ์šฉ๋ฒ• ์Šคํ”„๋ง ๋ถ€ํŠธ๋กœ Hello World ์˜ˆ์ œ ๋งŒ๋“ค์–ด๋ณด๊ธฐ   1. ์Šคํ”„๋ง ๋ถ€ํŠธ๋ž€ ๋ฌด์—‡์ธ๊ฐ€?์Šคํ”„๋ง ๋ถ€ํŠธ๋Š” ๊ธฐ์กด ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๋ณต์žกํ•œ ์„ค์ •์„ ์ž๋™ํ™” ํ•˜๊ณ , ๋น ๋ฅธ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์›น ํ”„๋กœ์ .. IT 2024. 10. 21.
์• ๋“œ์„ผ์Šค ๋‹ค๊ณ„์ • ์šด์˜ ๋ฐฉ๋ฒ•: ์ˆ˜์ต์„ ์•ˆ์ •์ ์œผ๋กœ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ• ์• ๋“œ์„ผ์Šค๋ฅผ ์ด์šฉํ•œ ๋ธ”๋กœ๊ทธ ์šด์˜์€ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๋ถ€์ˆ˜์ž…์„ ์–ป๊ธฐ ์œ„ํ•ด ์‹œ๋„ํ•˜๋Š” ๋ฐฉ์‹ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์• ๋“œ์„ผ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋‹ค ๋ณด๋ฉด ๊ด‘๊ณ  ๊ฒŒ์žฌ ์ œํ•œ ๊ณผ ๊ฐ™์€ ๋ถˆ๊ฐ€ํ”ผํ•œ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ๊ณ„์ •์ด ํ•˜๋‚˜๋ฟ์ด๋ผ๋ฉด ์ˆ˜์ต์€ ๊ณง๋ฐ”๋กœ 0์— ๊ฐ€๊นŒ์›Œ์งˆ ์ˆ˜๋ฐ–์— ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ์˜ˆ๋ฐฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์• ๋“œ์„ผ์Šค ๋‹ค๊ณ„์ • ์„ ์šด์˜ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ์• ๋“œ์„ผ์Šค ๋‹ค๊ณ„์ •์„ ์šด์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ฃผ์˜์‚ฌํ•ญ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.  ์• ๋“œ์„ผ์Šค ๋‹ค๊ณ„์ • ์šด์˜์˜ ํ•„์š”์„ฑ์• ๋“œ์„ผ์Šค๋Š” ์›์น™์ ์œผ๋กœ ํ•œ ๋ช…๋‹น ํ•œ ๊ณ„์ •๋งŒ ์šด์˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๊ทœ์ •ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋‹ค๊ณ„์ • ์šด์˜์€ ๋ถˆ๊ฐ€๋Šฅํ• ๊นŒ์š”? ๋‹ค๊ณ„์ •์„ ํ•ฉ๋ฒ•์ ์œผ๋กœ ์šด์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ, ๊ด‘๊ณ  ๊ฒŒ์žฌ ์ œํ•œ ๋“ฑ์œผ๋กœ ์ธํ•ด ์ˆ˜์ต์ด ๊ฐ‘์ž‘์Šค๋Ÿฝ๊ฒŒ ์ค„์–ด๋“œ๋Š” ์ƒํ™ฉ์— ๋Œ€๋น„.. ๋ธ”๋กœ๊ทธ 2024. 10. 21.
๊ตฐ๋ฒ•๋ฌด๊ด€ ๋ณต๋ฌด๊ธฐ๊ฐ„: ์•Œ์•„์•ผ ํ•  ๋ชจ๋“  ๊ฒƒ ๊ตฐ๋ฒ•๋ฌด๊ด€์€ ๊ตฐ๋Œ€ ๋‚ด์—์„œ ๋ฒ•์  ๋ฌธ์ œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ , ๊ตฐ์‚ฌ ์žฌํŒ๊ณผ ๊ฐ™์€ ์ค‘์š”ํ•œ ์—ญํ• ์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ๊ตฐ๋ฒ•๋ฌด๊ด€์€ ๊ตฐ์ธ์œผ๋กœ์„œ์˜ ์˜๋ฌด์™€ ๋ฒ•๋ฅ  ์ „๋ฌธ๊ฐ€๋กœ์„œ์˜ ์˜๋ฌด๋ฅผ ๋™์‹œ์— ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋ฉฐ, ๊ทธ ๋ณต๋ฌด ๊ธฐ๊ฐ„์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์š”์ธ์— ๋”ฐ๋ผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ๊ตฐ๋ฒ•๋ฌด๊ด€์˜ ๋ณต๋ฌด ๊ธฐ๊ฐ„, ๋ณต๋ฌด ๋ฐฉ์‹, ๊ทธ๋ฆฌ๊ณ  ๊ด€๋ จ๋œ ์—ฌ๋Ÿฌ ์ œ๋„์™€ ์ ˆ์ฐจ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ๊ตฐ๋ฒ•๋ฌด๊ด€์„ ์ค€๋น„ํ•˜๊ฑฐ๋‚˜ ๊ด€์‹ฌ์ด ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด ํฅ๋ฏธ๋กœ์šด ์˜ˆ์‹œ์™€ ํ•จ๊ป˜ ์„ค๋ช…ํ•ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.  ๊ตฐ๋ฒ•๋ฌด๊ด€์ด๋ž€?๊ตฐ๋ฒ•๋ฌด๊ด€์€ ๊ตญ๊ตฐ ๋‚ด์—์„œ ๋ฒ•๋ฅ  ๋ฌธ์ œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์ „๋ฌธ ๊ตฐ์ธ์ž…๋‹ˆ๋‹ค. ์ด๋“ค์€ ๊ตฐ์‚ฌ ์žฌํŒ์„ ์ค€๋น„ํ•˜๊ณ , ๋ฒ•์  ์ž๋ฌธ์„ ์ œ๊ณตํ•˜๋ฉฐ, ๊ตฐ์ธ์˜ ๊ถŒ๋ฆฌ๋ฅผ ๋ณดํ˜ธํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ๊ตฐ๋ฒ•๋ฌด๊ด€์€ ๊ตญ์ œ๋ฒ•, ๊ตฐ์‚ฌ๋ฒ•, ์ธ๊ถŒ๋ฒ• ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฒ•์  ์ด์Šˆ์— ๋Œ€ํ•ด ๋‹ค๋ฃจ๋ฉฐ, ๊ตฐ๋Œ€์˜ ์œค๋ฆฌ์  ๋ฌธ์ œ์™€ ๋ฒ•์  ๊ฐˆ๋“ฑ์„ ํ•ด๊ฒฐ.. ์ƒํ™œ ์ •๋ณด 2024. 10. 20.
๋ชจ๋ฐ”์ผ ์•ฑ์—์„œ์˜ OAuth 2.0 ๊ตฌํ˜„ ๊ฐ€์ด๋“œ: Deep Linking๊ณผ Secure Storage ํ™œ์šฉ 1. ๋ชจ๋ฐ”์ผ ์•ฑ์—์„œ OAuth 2.0์˜ ์ค‘์š”์„ฑ๋ชจ๋ฐ”์ผ ์•ฑ์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์†Œ์…œ ๋กœ๊ทธ์ธ๊ณผ API ์ธ์ฆ ์„ ์ž์ฃผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ OAuth 2.0 ์„ ํ†ตํ•ด ์•ˆ์ „ํ•˜๊ฒŒ ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๋ถ€์—ฌ ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ๋Š” ํ† ํฐ ์ €์žฅ ๋ฐฉ์‹๊ณผ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ์ฒ˜๋ฆฌ ์— ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.  2. Deep Linking๊ณผ Redirect ์ฒ˜๋ฆฌ Deep Linking์ด๋ž€? Deep Linking ์€ ์•ฑ ๋‚ด๋ถ€์˜ ํŠน์ • ํŽ˜์ด์ง€๋กœ ์‚ฌ์šฉ์ž๋ฅผ ๋ฐ”๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. OAuth ๋กœ๊ทธ์ธ ํ›„ ์‚ฌ์šฉ์ž๋ฅผ ๋‹ค์‹œ ์•ฑ์œผ๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•  ๋•Œ Deep Linking ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Android์—์„œ Deep Link ์„ค์ • ์˜ˆ์ œ   1. ๋ชจ๋ฐ”์ผ ์•ฑ.. IT 2024. 10. 20.
SSL๊ณผ OAuth๋ฅผ ๊ฒฐํ•ฉํ•œ ์•ˆ์ „ํ•œ API ์„ค๊ณ„: ๋ณด์•ˆ์„ฑ๊ณผ ํšจ์œจ์„ฑ์„ ๋ชจ๋‘ ์žก๋Š” ๋ฐฉ๋ฒ• 1. ์•ˆ์ „ํ•œ API ์„ค๊ณ„์—์„œ SSL๊ณผ OAuth์˜ ์—ญํ•  API ํ†ต์‹  ์—์„œ๋Š” ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์˜ค๊ณ  ๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ•๋ ฅํ•œ ๋ณด์•ˆ ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. SSL/TLS ๋Š” ํ†ต์‹  ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•˜๊ณ , OAuth ๋Š” ์ธ์ฆ๊ณผ ๊ถŒํ•œ ๋ถ€์—ฌ๋ฅผ ๋‹ด๋‹นํ•˜์—ฌ API ์ ‘๊ทผ์„ ์ œ์–ด ํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๊ธฐ์ˆ ์„ ๊ฒฐํ•ฉํ•˜๋ฉด ์•ˆ์ „ํ•˜๊ณ  ํšจ์œจ์ ์ธ API ์„ค๊ณ„ ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.  2. SSL/TLS๋ฅผ ์‚ฌ์šฉํ•œ ์•ˆ์ „ํ•œ API ํ†ต์‹  SSL/TLS๋ž€? SSL/TLS(Transport Layer Security) ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™” ํ•˜์—ฌ ๋„คํŠธ์›Œํฌ์—์„œ์˜ ๋„์ฒญ ๋ฐ ์œ„๋ณ€์กฐ๋ฅผ ๋ฐฉ์ง€ ํ•˜๋Š” ๋ณด์•ˆ ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. API์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„์˜ ๋ชจ๋“  ํ†ต์‹ ์— HTTPS๋ฅผ ์‚ฌ์šฉ ํ•ด ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•ฉ๋‹ˆ๋‹ค.SSL์„ ์ ์šฉํ•œ API ์˜ˆ์ œ์•„๋ž˜๋Š” Flask ๋กœ ๋งŒ๋“  ๊ฐ„๋‹จํ•œ .. IT 2024. 10. 20.