OAuth๋ž€?(Open Authorization, Open Authentication)

<aside> ๐Ÿ‘‰ ์ƒˆ๋กญ๊ฒŒ ์ด์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ์‚ฌ์ดํŠธ์—์„œ ์‚ฌ์šฉ์ž์˜ ๊ตฌ๊ธ€, ํŽ˜์ด์Šค๋ถ ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์š”์ฒญํ•˜๋ฉด ์‚ฌ์šฉ์ž ์ž…์žฅ์—์„œ๋Š” ์ž˜ ๋ชจ๋ฅด๋Š” ์‚ฌ์ดํŠธ์—๊ฒŒ ์ž์‹ ์˜ ๊ตฌ๊ธ€, ํŽ˜์ด์Šค๋ถ ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์•Œ๋ ค์ค˜์•ผ ํ•˜๋Š” ๋ถ€๋‹ด์„ ๊ฐ€์ง„๋‹ค

์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ์ฃผ๋Š” ๊ฒƒ์ด OAuth ์ด๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๋ ค๋Š” ์ƒˆ๋กœ์šด ์›น์‚ฌ์ดํŠธ์™€ ๊ตฌ๊ธ€, ํŽ˜์ด์Šค๋ถ๊ณผ ๊ฐ™์€ ์‚ฌ์ดํŠธ ์‚ฌ์ด์—์„œ ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค

</aside>

OAuth ์ž‘๋™ ๋ฐฉ๋ฒ•

<aside> ๐Ÿ‘‰ ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์•„๋‹Œ Access Token์„ ๋ฐœ๊ธ‰ํ•ด์ค˜์„œ Access Token์œผ๋กœ ์‚ฌ์šฉ์ž๋ฅผ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๊ฒŒํ•œ๋‹ค.

Access Token ์ด์šฉํ•จ์œผ๋กœ์จ ๊ตฌ๊ธ€๊ณผ ํŽ˜์ด์Šค๋ถ์˜ ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž˜ ๋ชจ๋ฅด๋Š” ์‚ฌ์ดํŠธ์— ๋„˜๊ธฐ์ง€ ์•Š์•„๋„ ๋˜๊ณ  ์ƒˆ๋กœ์šด ์‚ฌ์ดํŠธ๊ฐ€ ์ž์‹ ์˜ ๊ตฌ๊ธ€๊ณผ ํŽ˜์ด์Šค๋ถ์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์ด ์•„๋‹Œ ๊ผญ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ๋งŒ ์ ‘๊ทผํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค

</aside>

OAuth ์šฉ์–ด

<aside> ๐Ÿ‘‰ Resource Server : ์ œ์–ดํ•˜๊ณ ์ž ํ•˜๋Š” ์ž์›์„ ๊ฐ–๊ณ ์žˆ๋‹ค( ๊ตฌ๊ธ€, ํŽ˜์ด์Šค๋ถ๊ณผ ๊ฐ™์€ ์‚ฌ์ดํŠธ) Resource owner(=user) : ์ž์›์˜ ์†Œ์œ ์ž์ด๋‹ค. Client : Resource server์— ์ ‘์†ํ•ด์„œ ์ž์›์„ ๊ฐ€์ ธ๊ฐ„๋‹ค.

</aside>

์‚ฌ์šฉ ๋ฐฉ๋ฒ•

  1. ๋“ฑ๋ก(Client๊ฐ€ Resource Server์—๊ฒŒ ๋“ฑ๋ก)

Untitled

โ€ป ์„œ๋น„์Šค๋งˆ๋‹ค ๋“ฑ๋ก ๋ฐฉ๋ฒ•์€ ๋‹ค๋ฅด์ง€๋งŒ ๋“ฑ๋ก ํ›„์—๋Š” ๊ณตํ†ต์œผ๋กœ 3๊ฐ€์ง€๋ฅผ ๊ณต์œ ํ•˜๊ฒŒ ๋œ๋‹ค.