OAuth๋ ์ธํฐ๋ท ์ฌ์ฉ์๋ค์ด ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๊ณตํ์ง ์๊ณ ๋ค๋ฅธ ์น์ฌ์ดํธ ์์ ์์ ๋ค์ ์ ๋ณด์ ๋ํด ์น์ฌ์ดํธ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๊ทผ ๊ถํ์ ๋ถ์ฌํ ์ ์๋ ๊ณตํต์ ์ธ ์๋จ์ผ๋ก์ ์ฌ์ฉ๋๋, ์ ๊ทผ ์์์ ์ํ ๊ฐ๋ฐฉํ ํ์ค์ด๋ค
์ฌ์ฉ์๊ฐ ์๋น์ค์๊ฒ ์ ๊ทผ ๊ถํ์ ์์ํ๋ค๊ณ ์๊ฐํ ์ ์๋ค.
- ์ธ์ฆ์ ์์คํ ์ ๊ทผ์ ํ์ธํ๋ ๊ฒ (๋ก๊ทธ์ธ) -> ์ธ์ฆ๋ง ํ๋ ๊ฒ์ openID
- ๊ถํ์ ํ์์ ๊ถ๋ฆฌ๋ฅผ ๊ฒ์ฆํ๋ ๊ฒ
- ์ฌ์ฉ์๋ ์ฐ๋ฆฌ์๋น์ค์ oauth๋ก ์ด์ฉํ๊ธฐ๋ก ํ๊ณ ์ ๊ทผ์ ํ๋ฉด ์ฐ๋ฆฌ ์๋น์ค๋ client id, clientSecret, redirect url์ ํจ๊ป ๋ก๊ทธ์ธ ์์ฒญ์ ๋ณด๋ธ๋ค.
- Authorization sever๋ ๋ก๊ทธ์ธ ํ์ด์ง๋ฅผ ์ ๊ณตํ๋ค. (์ฌ์ฉ์ ์ธ์ฆ)
- ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธ์ ํ๋ฉด ์์์ฝ๋์ธ Authorization code(๋ง๋ฃ์๊ฐ์ด ์์)๋ฅผ ์ฐ๋ฆฌ์๋น์ค๊ฐ ๋ณด๋ธ redirect uri ์ ๋ฑ๋ก๋ redirect url๊ฐ ๋์ผํ์ง ํ์ธํ๊ณ ํด๋น url๋ก redirect ํ๋ค.
- ์ฐ๋ฆฌ ์๋น์ค๋ ๋ฐ์ ์ฝ๋๋ฅผ ์ด์ฉํด AccessToken์ ์์ฒญํ๊ณ ๋ฐ๊ธ๋ฐ์ผ๋ฉด ์ด์ ์๋น์ค๋ ์ฌ์ฉ์์๊ฒ ์ ๊ทผ๊ถํ์ ์์๋ฐ์ ๊ฒ์ด๋ค. (Authorization code๋ก client ์ธ์ฆ)
ํผ์ฑ์ฌ์ดํธ๋ฅผ ์ด์ฉํด ์ฌ๋ฌ๊ฐ ์ฐ๋์ ํ ์ ์๋ ์๋น์ค์ ๊ณต๊ฒฉ์์ ๊ณ์ ์ ๋ฑ๋กํ ์ ์๋ค. Authorization ๊ฐ์ ๊ณต๊ฒฉ์์ ๊ฐ์ผ๋ก ๋ฐ๊ฟ์นํค ํ๋ค๋ฉด ํผํด์๊ฐ ๊ฐ์ ํ ๊ณ์ ์ ๊ณต๊ฒฉ์์ ๊ณ์ ์ผ๋ก ๊ฐ์ ์ด ๋ ๊ฒ์ด๋ค. ์ฐธ๊ณ