# OAuth
Open Authorization
์ธํฐ๋ท ์ฌ์ฉ์๋ค์ด ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๊ณตํ์ง ์๊ณ , ๋ค๋ฅธ ์น์ฌ์ดํธ ์์ ์์ ๋ค์ ์ ๋ณด์ ๋ํด ์น์ฌ์ดํธ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๊ทผ ๊ถํ์ ๋ถ์ฌํ ์์๋ ๊ฐ๋ฐฉํ ํ์ค ๋ฐฉ๋ฒ
์ด๋ฌํ ๋งค์ปค๋์ฆ์ ๊ตฌ๊ธ, ํ์ด์ค๋ถ, ํธ์ํฐ ๋ฑ์ด ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ ํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ์น์ฌ์ดํธ์ ๊ณ์ ์ ๋ํ ์ ๋ณด๋ฅผ ๊ณต์ ํ ์ ์๋๋ก ํ์ฉํด์ค๋ค.
# ์ฌ์ฉ ์ฉ์ด
์ฌ์ฉ์ : ๊ณ์ ์ ๊ฐ์ง๊ณ ์๋ ๊ฐ์ธ
์๋น์ : OAuth๋ฅผ ์ฌ์ฉํด ์๋น์ค ์ ๊ณต์์๊ฒ ์ ๊ทผํ๋ ์น์ฌ์ดํธ or ์ ํ๋ฆฌ์ผ์ด์
์๋น์ค ์ ๊ณต์ : OAuth๋ฅผ ํตํด ์ ๊ทผ์ ์ง์ํ๋ ์น ์ ํ๋ฆฌ์ผ์ด์
์๋น์ ๋น๋ฐ๋ฒํธ : ์๋น์ค ์ ๊ณต์์์ ์๋น์๊ฐ ์์ ์์ ์ธ์ฆํ๊ธฐ ์ํ ํค
์์ฒญ ํ ํฐ : ์๋น์๊ฐ ์ฌ์ฉ์์๊ฒ ์ ๊ทผ๊ถํ์ ์ธ์ฆ๋ฐ๊ธฐ ์ํด ํ์ํ ์ ๋ณด๊ฐ ๋ด๊ฒจ์์
์ ๊ทผ ํ ํฐ : ์ธ์ฆ ํ์ ์ฌ์ฉ์๊ฐ ์๋น์ค ์ ๊ณต์๊ฐ ์๋ ์๋น์๋ฅผ ํตํด ๋ณดํธ ์์์ ์ ๊ทผํ๊ธฐ ์ํ ํค ๊ฐ
ํ ํฐ ์ข ๋ฅ๋ก๋ Access Token๊ณผ Refresh Token์ด ์๋ค.
Access Token์ ๋ง๋ฃ์๊ฐ์ด ์๊ณ ๋๋๋ฉด ๋ค์ ์์ฒญํด์ผ ํ๋ค. Refresh Token์ ๋ง๋ฃ๋๋ฉด ์์ ์ฒ์๋ถํฐ ์งํํด์ผ ํ๋ค.
# ์ธ์ฆ ๊ณผ์
์๋น์ <-> ์๋น์ค ์ ๊ณต์
์๋น์๊ฐ ์๋น์ค ์ ๊ณต์์๊ฒ ์์ฒญํ ํฐ์ ์์ฒญํ๋ค.
์๋น์ค ์ ๊ณต์๊ฐ ์๋น์์๊ฒ ์์ฒญํ ํฐ์ ๋ฐ๊ธํด์ค๋ค.
์๋น์๊ฐ ์ฌ์ฉ์๋ฅผ ์๋น์ค์ ๊ณต์๋ก ์ด๋์ํจ๋ค. ์ฌ๊ธฐ์ ์ฌ์ฉ์ ์ธ์ฆ์ด ์ํ๋๋ค.
์๋น์ค ์ ๊ณต์๊ฐ ์ฌ์ฉ์๋ฅผ ์๋น์๋ก ์ด๋์ํจ๋ค.
์๋น์๊ฐ ์ ๊ทผํ ํฐ์ ์์ฒญํ๋ค.
์๋น์ค์ ๊ณต์๊ฐ ์ ๊ทผํ ํฐ์ ๋ฐ๊ธํ๋ค.
๋ฐ๊ธ๋ ์ ๊ทผํ ํฐ์ ์ด์ฉํด์ ์๋น์์์ ์ฌ์ฉ์ ์ ๋ณด์ ์ ๊ทผํ๋ค.