OAuth 2.0 ํ๋ฆ„

OAuth 2.0 ํ๋ฆ„

2021, Oct 07    

์•ˆ๋…•ํ•˜์„ธ์š”, ๋‹ค๋‹ˆ์ž…๋‹ˆ๋‹ค. ๐ŸŒป


Workflow

  1. ์‚ฌ์šฉ์ž๋Š” Pick-Git์—์„œ Github Login์— ํ•„์š”ํ•œ ์ž์›์— ์ ‘๊ทผํ•ฉ๋‹ˆ๋‹ค.
  2. Github Login URL(client_id, redirect_url, scope ํฌํ•จ)์„ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.
  3. ์‚ฌ์šฉ์ž๋Š” ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ Github Login ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
  4. Github์€ ์‚ฌ์šฉ์ž์—๊ฒŒ Login URL์— ๋ช…์‹œํ•œ scope์— ๋Œ€ํ•œ ์ •๋ณด ์ œ๊ณต ๋™์˜ ํ—ˆ์šฉ ์—ฌ๋ถ€๋ฅผ ๋ฌผ์–ด๋ด…๋‹ˆ๋‹ค.
  5. ์‚ฌ์šฉ์ž๊ฐ€ ๋™์˜ํ•˜๊ณ  ๋กœ๊ทธ์ธ์— ์„ฑ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  6. Github์€ ์‚ฌ์šฉ์ž์—๊ฒŒ Authorization Code๋ฅผ ๋ฐœ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค.
  7. ์‚ฌ์šฉ์ž๋Š” Pick-Git์—๊ฒŒ Authorization Code๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.
  8. Pick-Git์€ Github์—๊ฒŒ client_id, client_secret, Authorization Code๋ฅผ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.
  9. Github์€ ์ „๋‹ฌ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ฆํ•˜๊ณ , Pick-Git์—๊ฒŒ Github Access Token์„ ๋ฐœ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค.
  10. Pick-Git์€ Github Access Token์„ ์ด์šฉํ•˜์—ฌ Github์—๊ฒŒ ํ•ด๋‹น ์‚ฌ์šฉ์ž ํ”„๋กœํ•„ ์ •๋ณด๋ฅผ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.
  11. Github์€ ํ•ด๋‹น Access Token์„ ๊ฒ€์ฆํ•˜๊ณ , Pick-Git์—๊ฒŒ ์‚ฌ์šฉ์ž ํ”„๋กœํ•„ ์ •๋ณด๋ฅผ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.
  12. Pick-Git์€ ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ payload๋กœ Pick-Git Access Token์„ ์ƒ์„ฑํ•˜๊ณ ,
    ์ด๋ฅผ { Pick-Git Access Token : Github Access Token } ํ˜•์‹์œผ๋กœ ์ €์žฅํ•˜๊ณ ,
    ์‚ฌ์šฉ์ž์—๊ฒŒ Pick-Git Access Token์„ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.


References