[07.04] OAuth

0
post-thumbnail

๐Ÿ“Œ OAuth

: ์ธํ„ฐ๋„ท ์‚ฌ์šฉ์ž๋“ค์ด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š๊ณ  ๋‹ค๋ฅธ ์›น์‚ฌ์ดํŠธ ์ƒ์˜ ์ž์‹ ๋“ค์˜ ์ •๋ณด์— ๋Œ€ํ•ด ์›น์‚ฌ์ดํŠธ๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ ‘๊ทผ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ณตํ†ต์ ์ธ ์ˆ˜๋‹จ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์ ‘๊ทผ ์œ„์ž„์„ ์œ„ํ•œ ๊ฐœ๋ฐฉํ˜• ํ‘œ์ค€

  • ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฐฐ๋‹ฌ์˜ ๋ฏผ์กฑ ํšŒ์›๊ฐ€์ž…์„ ํ• ๋•Œ ํ•ด๋‹น ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํšŒ์›๊ฐ€์ž…์„ ์ง„ํ–‰ํ•ด๋„ ๋˜์ง€๋งŒ ์™ธ๋ถ€ ์†Œ์…œ ๊ณ„์ •(์นด์นด์˜ค,๋„ค์ด๋ฒ„ ๋“ฑ)์„ ํ†ตํ•ด ๊ฐ„ํŽธํžˆ ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธํ• ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

OAuth ๊ตฌ์„ฑ ์š”์†Œ

1. Resource Owner

  • ์›น ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๋ ค๋Š” ์œ ์ €, ์ž์›(๊ฐœ์ธ์ •๋ณด)์„ ์†Œ์œ ํ•˜๋Š”์ž, ์‚ฌ์šฉ์ž
    ๐Ÿ“ Resource : ์‚ฌ์šฉ์ž์˜ ์ด๋ฆ„, ์ „ํ™”๋ฒˆํ˜ธ ๋“ฑ์˜ ์ •๋ณด(๊ฐœ์ธ์ •๋ณด)

2. Client

  • ์ž์‚ฌ ํ˜น์€ ๊ฐœ์ธ์ด ๋งŒ๋“  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„
  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ Resource server์—๊ฒŒ ํ•„์š”ํ•œ ์ž์›์„ ์š”์ฒญํ•˜๊ณ  ์‘๋‹ตํ•˜๋Š” ๊ด€๊ณ„

3. Authorization Server

  • ์ด๋ฏธ ์‚ฌ์šฉ์ค‘์ธ ์„œ๋น„์Šค์˜ ์„œ๋ฒ„ ์ค‘ ์ธ์ฆ์„ ๋‹ด๋‹นํ•˜๋Š” ์„œ๋ฒ„
  • ์‚ฌ์šฉ์ž๋Š” ์ด ์„œ๋ฒ„๋กœ ID, PW๋ฅผ ๋„˜๊ฒจ Authorization Code๋ฅผ ๋ฐœ๊ธ‰ ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ
  • Client๋Š” ์ด ์„œ๋ฒ„๋กœ Authorization Code๋ฅผ ๋„˜๊ฒจ Token์„ ๋ฐœ๊ธ‰ ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ

4. Resource Server

  • ์‚ฌ์šฉ์ž์˜ ๊ฐœ์ธ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(์นด์นด์˜ค, ๋„ค์ด๋ฒ„, ๊ตฌ๊ธ€๋“ฑ)ํšŒ์‚ฌ์˜ ์„œ๋ฒ„
  • Client๋Š” Token์„ ์ด ์„œ๋ฒ„๋กœ ๋„˜๊ฒจ ๊ฐœ์ธ์ •๋ณด๋ฅผ ์‘๋‹ต ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ

5. Access Token

  • ์ž์›์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ์„ ์‚ฌ์šฉ์ž๊ฐ€ ์Šน์ธํ•˜์˜€์Œ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ž๊ฒฉ์ฆ๋ช…

6. Refresh Token

  • Client๋Š” Authorization Server๋กœ๋ถ€ํ„ฐ access token(์งง์€ ๋งŒ๋ฃŒ๊ธฐ๊ฐ„)๊ณผ refresh token(๊ธด ๋งŒ๋ฃŒ๊ธฐ๊ฐ„)์„ ํ•จ๊ป˜ ๋ถ€์—ฌ๋ฐ›์Œ
  • ๋น„๊ต์  ๋งŒ๋ฃŒ ๊ธฐ๊ฐ„์ธ ์งง์€ access token์€ refresh token์„ ํ†ตํ•ด access token์„ ์žฌ๋ฐœ๊ธ‰ ๋ฐ›์•„ ์žฌ๋กœ๊ทธ์ธ ํ•  ํ•„์š”์—†๊ฒŒ๋” ํ•จ

0๊ฐœ์˜ ๋Œ“๊ธ€