๐ OAuth๋ฅผ 5์ด ์์ด์๊ฒ ์ค๋ช ํ๋ฏ์ด
Source: Dev.to
Valet Key Analogy
๊ณ ๊ธ ๋ ์คํ ๋์ ๊ฐ์ ์ฃผ์ฐจ๋ฅผ ์ง์ ์ฐพ๊ณ ์ถ์ง ์์ ๋,
๋ฐ๋ ํํน ์ง์์๊ฒ ์ฐจ ์ด์ ๋ฅผ ๊ฑด๋ค์ง๋ง ํธ๋ ํฌ๋ฅผ ์ด๊ฑฐ๋ ์ ๊ธ๋ผ์ค๋ฅผ ํ์น ๊น ๊ฑฑ์ ๋ฉ๋๋ค.
ํด๊ฒฐ์ฑ : ๋ฐ๋ ํค โ ๋ค์๊ณผ ๊ฐ์ ํน์ ํค:
- โ ์ฐจ ์๋์ ๊ฑธ ์ ์์
- โ ์งง์ ๊ฑฐ๋ฆฌ๋ง ์ด๋ ๊ฐ๋ฅ
- โ ํธ๋ ํฌ๋ฅผ ์ด ์ ์์
- โ ๊ธ๋ฌ๋ธ ๋ฐ์ค๋ฅผ ์ด ์ ์์
OAuth๋ ์น์ฌ์ดํธ์์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋์ํฉ๋๋ค.
์ ๋น๋ฐ๋ฒํธ๋ฅผ ๊ณต์ ํ๋ฉด ์ ๋ ๊น?
์๋ชป๋ ๋ฐฉ๋ฒ: ์ฑ์ ํธ์ํฐ ๋น๋ฐ๋ฒํธ๋ฅผ ์๋ ค์ค.
- ์ฑ์ด ๋ชจ๋ DM์ ์ฝ์ ์ ์์.
- ๋น๋ฐ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํ ์ ์์.
- ์ฌ์ฉ์๋ฅผ ๋์ ํด ๋ฌด์์ด๋ ํ ์ ์์.
์ฌ๋ฐ๋ฅธ ๋ฐฉ๋ฒ: OAuth ์ฌ์ฉ.
- ์ฑ์ด ํธ์ํฐ์ ์ ํ๋ ์ ๊ทผ ๊ถํ์ ์์ฒญ.
- ํธ์ํฐ๊ฐ ๋น์ ์๊ฒ โ์ด ์ฑ์ด ๋น์ ์ ๋์ ํด ๊ฒ์ํ๋๋ก ํ์ฉํ์๊ฒ ์ต๋๊น?โ ๋ผ๊ณ ๋ฌผ์.
- ๋น์ ์ด ์๋ผ๊ณ ๋ตํจ.
- ํธ์ํฐ๊ฐ ํ์ฉ๋ ๊ถํ ๋ด์์๋ง ๊ฒ์ํ ์ ์๋ ํน์ ํ ํฐ์ ๋ฐํ.
- ์ฑ์ ํ ํฐ์ ์ฌ์ฉํด ๊ฒ์ํ๊ณ , ๋น๋ฐ๋ฒํธ๋ ์ ํ ์ ์ ์์.
OAuth Flow (Simplified)
App โ Twitter: "I need to post for this user"
Twitter โ User: "Do you allow this?"
User โ Twitter: "Yes, allow posting"
Twitter โ App: "Hereโs a limited token"
App โ Twitter: (uses token to post)
Key Takeaways
- OAuth๋ ์ฑ์ด ์ ํ๋ ๊ถํ์ผ๋ก ๋น์ ์ ๊ณ์ ์ ์ ๊ทผํ๋๋ก ํ์ฉํฉ๋๋ค.
- ๋น๋ฐ๋ฒํธ๋ฅผ ๋ ธ์ถํ์ง ์๊ณ **์ธ์ฆ(authorization)**์ ์ ๊ณตํฉ๋๋ค.
- โContinue with Googleโ์ ์ข ์ข OpenID Connect๋ฅผ ์ฌ์ฉํ๋ฉฐ, ์ด๋ OAuth ์์ ๊ตฌ์ถ๋ ๊ธฐ์ ์ ๋๋ค.