Loading...
2020. 8. 25. 21:43

[Spring boot] Spring boot Security๋ฅผ ์ด์šฉํ•œ OAuth2 ์ธ์ฆ ๊ตฌํ˜„ 3 - ๊ตญ๋‚ด ํฌํ„ธ ์ธ์ฆ

์ง€๋‚œ ํฌ์ŠคํŠธ์—์„œ ๊ธฐ์กด์˜ User Entity ํ˜น์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ User Entity์™€ ์—ฐ๋™ํ•˜์—ฌ OAuth2 ์ธ์ฆ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋‹ค๋ค„๋ดค์Šต๋‹ˆ๋‹ค. Spring boot Security์—์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ Google, Facebook ๋“ฑ์˜ ํ•ด์™ธ ์†Œ์…œ ๋กœ๊ทธ์ธ API๋ฅผ ์ง€์›ํ•˜๋ฉฐ ์šฐ๋ฆฌ๋Š” ์ง€์›ํ•ด์ฃผ๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์ž˜ ์ด์šฉํ•˜์—ฌ Key์™€ Client ID๋งŒ ๋„ฃ์–ด์ฃผ๋ฉด ์‰ฝ๊ฒŒ OAuth2 ์ธ์ฆ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ, NAVER, Kakao ๋“ฑ ๊ตญ๋‚ด ํฌํ„ธ ์‚ฌ์ดํŠธ์˜ OAuth2 ์ธ์ฆ์„ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”? NAVER, Kakao API๋ฅผ ์ด์šฉํ•œ OAuth2 ์ธ์ฆ Spring boot Security์—์„œ๋Š” ๊ณต๊ต๋กญ๊ฒŒ๋„ ๊ตญ๋‚ด ํฌํ„ธ OAuth2 ์ธ์ฆ์— ๋Œ€ํ•œ ๊ตฌํ˜„์ฒด๋ฅผ ์ œ๊ณตํ•ด์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋“ค OAuth2 ..

2020. 7. 25. 23:29

[Algorithm] - 2020 Kakao InternShip for Tech Developers Coding test ๋ฌธ์ œ ํ’€์ด

์ตœ๊ทผ ๋“ค์–ด ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ, ๊ฐ์ข… ํ…Œ์ŠคํŠธ ๋“ฑ์œผ๋กœ ์ธํ•˜์—ฌ ๋ธ”๋กœ๊ทธ์— ๋Œ€ํ•œ ๊ธ€ ํฌ์ŠคํŒ…์ด ์ž์ฃผ ์•ˆ๋˜๊ณ  ์žˆ๋Š” ์ ์— ๋Œ€ํ•ด ๊นŠ์ด ๋ฐ˜์„ฑํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๊ณ„๊ธฐ๋กœ ํ•˜์—ฌ๊ธˆ ์˜ค๋Š˜์€ ์ œ๊ฐ€ ๋‚ด์ผ ์น˜๋ฃจ๊ฒŒ ๋  ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ์˜ค๋Š˜ ํ•˜๋ฃจ ๋‚ ์„ ์žก๊ณ , ์—ฐ์Šตํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ์š”. ์ด๋ฒˆ ํฌ์ŠคํŠธ๋Š” ์นด์นด์˜ค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ฌธ์ œ ๋‘ ๋ฒˆ์งธ์ธ 2020 ์นด์นด์˜ค ์ธํ„ด์‹ญ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ฌธ์ œ ํ’€์ด์™€ ์งค๋ง‰ํ•œ ํ›„๊ธฐ๋ฅผ ๋‚จ๊ฒจ๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. (์ฐธ๊ณ ๋กœ ์ด๋ฒˆ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋Š” ๋‚œ์ด๋„๊ฐ€ ๊ฝค ์–ด๋ ค์› ์Šต๋‹ˆ๋‹ค.) Question 01. ํ‚คํŒจ๋“œ ๋ˆ„๋ฅด๊ธฐ ๋ฌธ์ œ ์›๋ฌธ: (https://programmers.co.kr/learn/courses/30/lessons/67256) ์Šค๋งˆํŠธํฐ ์ „ํ™” ํ‚คํŒจ๋“œ์˜ ๊ฐ ์นธ์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ˆซ์ž๋“ค์ด ์ ํ˜€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ „ํ™” ํ‚คํŒจ๋“œ์—์„œ ์™ผ์†๊ณผ ์˜ค๋ฅธ์†์˜ ์—„์ง€์†๊ฐ€๋ฝ๋งŒ์„ ์ด์šฉํ•ด..

2020. 4. 6. 13:41

[Algorithm] - 2019 Kakao Winter internship Coding test ๋ฌธ์ œ ํ’€์ด

2๋…„ ์ „๋ถ€ํ„ฐ ๊ณ„์†, ์‹œ๊ฐ„์ด ๋‚  ๋•Œ๋งˆ๋‹ค(๊ทธ ์‹œ๊ฐ„์ด ์–ผ๋งˆ ๋˜์ง€ ์•Š์ง€๋งŒ..) ํ‹ˆํ‹ˆ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด๋ฅผ ๊ณ„์† ์ด์–ด๊ฐ€๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๋“ค์„ ๋ณด์•˜๊ณ , ์–ด๋ ค์šด ๋ฌธ์ œ, ์ƒ๊ฐ์ด ๋‚  ๊ฒƒ ๊ฐ™์œผ๋ฉด์„œ๋„ ๋‡Œ์ •์ง€๊ฐ€ ์˜ค๋Š” ๋ฌธ์ œ, ์‰ฝ๊ฒŒ ํ’€๋งŒํ•œ ๋ฌธ์ œ๋“ค ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๋“ค์ด ์กด์žฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋˜ ์ค‘, ์ž‘๋…„ ๊ฒจ์šธ์— ์žฌ๋ฏธ์‚ผ์•„ ์นด์นด์˜ค ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ๋ฌธ์ œ๋ฅผ ํ’€๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ ๋‚œ์ด๋„๋Š” ์ƒ๊ฐํ•œ ๊ฒƒ๋ณด๋‹ค๋Š” ์กฐ๊ธˆ ์–ด๋ ค์šด ์ˆ˜์ค€์— ํ•ด๋‹นํ–ˆ์œผ๋ฉฐ ์–ด์ฐจํ”ผ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ์—์„œ ์ข‹์€ ์„ฑ์ ์„ ๊ฑฐ๋‘์ง€ ๋ชปํ–ˆ๋”๋ผ๋„ ์ฐจํ›„์— ๋ฌธ์ œ ํ’€์ด ํ•ด์„ค์ด ์˜ฌ๋ผ์˜ค๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋ฒผ์šด ๋งˆ์Œ์œผ๋กœ ์‹œํ—˜์— ์ž„ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ช‡ ๋‹ฌ์ด ์ง€๋‚˜๋„ ํ•ด๋‹น ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์— ๋Œ€ํ•œ ๋ฌธ์ œ ํ’€์ด ํ•ด์„ค์€ ๋ณด์ด์ง€ ์•Š์•˜๊ณ , ๊ทธ ํ•ด์„ค์„ ์ตœ๊ทผ์—์„œ์•ผ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. (๊ทธ๊ฒƒ๋„ Google ๊ฒ€์ƒ‰์ด ์นœ์ ˆํ•˜๊ฒŒ ์ด๊ฒƒ์ด ์žˆ๋‹ค๋Š” ๊ฑธ..