OAuth
1. OAuth๋?
์ ํต์ ์ผ๋ก ์ง์ ์์ฑํ ์๋ฒ์์ ์ธ์ฆ์ ์ฒ๋ฆฌํด ์ฃผ๋ ๊ฒ๊ณผ ๋ฌ๋ฆฌ, OAuth๋ ์ธ์ฆ์ ์ค๊ฐํด์ฃผ๋ ๋งค์ปค๋์ฆ
๋ณด์๋ ๋ฆฌ์์ค์ ์ก์ธ์คํ๊ธฐ ์ํด ํด๋ผ์ด์ธํธ์๊ฒ ๊ถํ์ ์ ๊ณตํ๋ ํ๋ก์ธ์ค๋ฅผ ๋จ์ํํ๋ ํ๋กํ ์ฝ
์ฆ, ์ด๋ฏธ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ ์น ์๋น์ค์์ ์ฌ์ฉ์์ ์ธ์ฆ์ ๋์ ํด ์ฃผ๊ณ , ์ ๊ทผ ๊ถํ์ ๋ํ ํ ํฐ์ ๋ฐ๊ธํ ํ, ์ด๋ฅผ ์ด์ฉํด ๋ด ์๋ฒ์์ ์ธ์ฆ์ด ๊ฐ๋ฅ
2. OAuth์ ์๋ ๋งค์ปค๋์ฆ
Resource Owner
OAuth ์ธ์ฆ์ผ๋ก ์์ ๋ก๊ทธ์ธ์ ํ๊ณ ์ ํ๋ ์ฌ์ฉ์
Resource Server
์ฌ์ฉ์์ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ์๋ ์๋ฒ
Authorization Server
์ฌ์ฉ์์ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ์๋ ์๋ฒ ์ค ์ธ์ฆ์ ๋ด๋นํ๋ ์๋ฒ
Application
์ฌ์ฉ์๊ฐ ์์ ๋ก๊ทธ์ธ์ ํ์ฉํด ์ด์ฉํ๊ณ ์ ํ๋ ํ๊ฒฝ
3. OAuth ์ธ์ฆ ๋ฐฉ์์ ์ข
๋ฅ์ ํ๋ฆ
Implicit Grant Type
๊ธฐ์กด ์๋น์ค์ ๋ก๊ทธ์ธ๋ง ๋์ด ์๋ค๋ฉด ์๋ก์ด ์๋น์ค์ ๋ฐ๋ก ์ก์ธ์ค ํ ํฐ์ ๋ด์ด์ฃผ๊ธฐ ๋๋ฌธ์ ๋ณด์์ฑ์ด ๋จ์ด์ง
Authorization Code Grant Type
Implicit Grant Type์์ Authorization Code๋ฅผ ์ฌ์ฉํ ์ธ์ฆ ๋จ๊ณ๊ฐ ์ถ๊ฐ๋ก ์๊ธฐ ๋๋ฌธ์ ๋น๊ต์ ๋ ์์
๋ํ, ํ ํฐ์ Application์ Client์ ๋ ธ์ถ์ํค์ง ์๊ณ Server์์๋ง ๊ด๋ฆฌํ๋๋ก ๋ง๋ค ์๋ ์๊ธฐ ๋๋ฌธ์ ์์ ๋ก๊ทธ์ธ์ ๊ตฌํํ๋ ๋ฐฉ์์ ์ ํ์ง๊ฐ ๋์ด๋จ
Refresh Token Grant Type
์ก์ธ์ค ํ ํฐ์ด ๋ง๋ฃ๋์์ ๋, ๋งค๋ฒ ์ด ๊ณผ์ ์ ๊ฑฐ์ณ์ ์ก์ธ์ค ํ ํฐ์ ๋ค์ ๋ฐ๊ธ๋ฐ์์ผ ํ๋ค๋ฉด ์ฌ์ฉ์ ํธ์์ฑ์ ์์ด์๋ ์ข์ง ์์ โ ๋ฆฌํ๋ ์ ํ ํฐ ๊ฐ์ด ๋ฐ๊ธ
4. OAuth์ ์ฅ์
์ฝ๊ณ ์์ ํ๊ฒ ์๋ก์ด ์๋น์ค ์ด์ฉ ๊ฐ๋ฅ
๊ถํ ์์ญ ์ค์ ๊ฐ๋ฅ
Last updated