๐Ÿ’ Spring/Spring Security

[Spring Security] ์Šคํ”„๋ง ๋ถ€ํŠธ OAuth2 ๊ตฌ๊ธ€, ๋„ค์ด๋ฒ„, ์นด์นด์˜ค API ํ‚ค ๋ฐœ๊ธ‰ํ•˜๊ธฐ

iseunghan 2021. 4. 29. 14:49
๋ฐ˜์‘ํ˜•

๊ตฌ๊ธ€, ๋„ค์ด๋ฒ„, ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ํ† ํฐ๋“ค์„ ๋ฐœ๊ธ‰ ๋ฐ›๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. :D


๊ตฌ๊ธ€(Google)

 

Google Cloud Platform

ํ•˜๋‚˜์˜ ๊ณ„์ •์œผ๋กœ ๋ชจ๋“  Google ์„œ๋น„์Šค๋ฅผ Google Cloud Platform์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋กœ๊ทธ์ธํ•˜์„ธ์š”.

accounts.google.com

 

1. ๋จผ์ € ์œ„ ๋งํฌ๋กœ ์ ‘์†ํ•ด์„œ ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

2. ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด - OAuth ํด๋ผ์ด์–ธํŠธ ID ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

 

3. ๋™์˜ ํ™”๋ฉด ๊ตฌ์„ฑ์„ ํด๋ฆญํ•˜๊ณ  - User Type์„ ์™ธ๋ถ€๋กœ ์„ค์ •ํ•ด์ค€๋‹ค.

 

4. [์•ฑ ์ด๋ฆ„], [์‚ฌ์šฉ์ž ์ง€์› ์ด๋ฉ”์ผ], [๊ฐœ๋ฐœ์ž ์—ฐ๋ฝ์ฒ˜ ์ •๋ณด] ๋งŒ ์ž…๋ ฅํ•˜๊ณ  ๋„˜์–ด๊ฐ„๋‹ค.

(2) ๋ฒ”์œ„, (3) ํ…Œ์ŠคํŠธ ์‚ฌ์šฉ์ž๋Š” ๋„˜์–ด๊ฐ€๊ณ  ๋‚˜์„œ 5๋ฒˆ์„ ์ง„ํ–‰ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

5. ๋‹ค์‹œ [์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด] -  [์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ๋งŒ๋“ค๊ธฐ] - [OAuth ํด๋ผ์ด์–ธํŠธ ID] ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

 

6. [์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์œ ํ˜•]์„ "์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜"์œผ๋กœ ์ง€์ •ํ•˜๊ณ ,  URI๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋”ฐ๋ผ ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค.

 

7. OAuth ํด๋ผ์ด์–ธํŠธ ID์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ฐœ๊ธ‰!

 

 


 

์นด์นด์˜ค(Kakao)

 

Kakao Developers

์นด์นด์˜ค API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•ด๋ณด์„ธ์š”. ์นด์นด์˜ค ๋กœ๊ทธ์ธ, ๋ฉ”์‹œ์ง€ ๋ณด๋‚ด๊ธฐ, ์นœ๊ตฌ API, ์ธ๊ณต์ง€๋Šฅ API ๋“ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

developers.kakao.com

 

1. ์œ„ ๋งํฌ๋กœ ์ ‘์†ํ•ด์„œ [๋‚ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜] ์„ ํด๋ฆญํ•˜๊ณ  ๋กœ๊ทธ์ธ ํ•ด์ค๋‹ˆ๋‹ค.

 

2. [์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ถ”๊ฐ€ํ•˜๊ธฐ] ๋ฅผ ํด๋ฆญํ•˜๊ณ  ์•ฑ ์ด๋ฆ„์„ ์„ค์ •ํ•ด์ค๋‹ˆ๋‹ค.

 

3. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ถ”๊ฐ€ํ•˜๋ฉด, ํ‚ค ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ด์ค๋‹ˆ๋‹ค.

 

4. ์™ผ์ชฝ ์‚ฌ์ด๋“œ ๋ฐ”์— [์นด์นด์˜ค ๋กœ๊ทธ์ธ] ๋ฅผ ํด๋ฆญํ•ด์ค๋‹ˆ๋‹ค.

 

5. ์นด์นด์˜ค ๋กœ๊ทธ์ธ์„ [ํ™œ์„ฑํ™”] ํ•ด์ฃผ๊ณ , Redirect URI ๋ฅผ ๋“ฑ๋กํ•ด์ค๋‹ˆ๋‹ค.

 

6. ์™ผ์ชฝ ์‚ฌ์ด๋“œ ๋ฐ”์—์„œ [๋ณด์•ˆ] ์„ ํด๋ฆญํ•˜๊ณ , Client Secret ์ฝ”๋“œ ์ƒ์„ฑ์„ ํ•ด์ค๋‹ˆ๋‹ค.

 

7. Client Secret ์ฝ”๋“œ๊ฐ€ ๋ฐœ๊ธ‰์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!

 

 


 

๋„ค์ด๋ฒ„(Naver)

 

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ - NAVER Developers

 

developers.naver.com

 

1. ์œ„ ๋งํฌ์— ์ ‘์†ํ•ด์„œ [์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋“ฑ๋ก] ์„ ํ•ด์ค๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์ธ ๋‚ด์šฉ์„ ์ž…๋ ฅํ•˜๊ณ , ๋„ค์•„๋กœ(๋„ค์ด๋ฒ„ ์•„์ด๋””๋กœ ๋กœ๊ทธ์ธ)์„ ์„ ํƒํ•ด์ค๋‹ˆ๋‹ค.


2. ์„œ๋น„์Šค URL, Callback URL๋„ ์•Œ๋งž๊ฒŒ ์ž˜ ๋„ฃ์–ด์ฃผ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

 

3. Client ID, Secret Code ๋ฐœ๊ธ‰ ์™„๋ฃŒ!!

 

๋ฐœ๊ธ‰ ๋ฐ›์€ Client ID์™€ Secret Code๋Š” ์šฐ๋ฆฌ๊ฐ€ ํ”„๋กœ์ ํŠธ์— ์ž…๋ ฅํ•ด์•ผ ๋  ์ •๋ณด๋“ค์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ผญ ๊ธฐ์–ตํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค!

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.


์ฐธ๊ณ 

[Spring Boot OAuth2๋ฅผ ์ด์šฉํ•œ ๊ตฌ๊ธ€, ์นด์นด์˜ค, ๋„ค์ด๋ฒ„ ๊ณ„์ • ์—ฐ๋™ ๋กœ๊ทธ์ธํ•˜๊ธฐ]์— ๋Œ€ํ•ด์„œ๋Š” ์•„๋ž˜ ํฌ์ŠคํŠธ๋“ค์„ ์ฐธ์กฐํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.

  • ๊ตฌ๊ธ€ ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ์€ ์—ฌ๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.
  • ์นด์นด์˜ค ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ์€ ์—ฌ๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.
  • ๋„ค์ด๋ฒ„ ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ์€ ์—ฌ๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.
๋ฐ˜์‘ํ˜•