πŸ”™λ’€λ‘œκ°€κΈ°

OAuth2의 μ •μ˜

OAuth2λŠ” 인터넷 μ‚¬μš©μžλ“€μ΄ μžμ‹ μ˜ 계정 정보λ₯Ό 제3의 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— κ³΅μœ ν•  수 있게 ν•΄μ£ΌλŠ” κ°œλ°©ν˜• ν‘œμ€€ ν”„λ‘œν† μ½œμ΄λ‹€. μ‚¬μš©μžλ“€μ΄ λ³„λ„μ˜ ID와 λΉ„λ°€λ²ˆν˜Έλ₯Ό κ³΅μœ ν•˜μ§€ μ•Šκ³ λ„, 미리 승인된 μ• ν”Œλ¦¬μΌ€μ΄μ…˜λ“€μ΄ νŠΉμ • λ¦¬μ†ŒμŠ€μ— λŒ€ν•œ μ ‘κ·Ό κΆŒν•œμ„ 얻을 수 있게 ν•΄μ€€λ‹€.

예λ₯Ό λ“€μ–΄, μ‚¬μš©μžκ°€ μ†Œμ…œ λ―Έλ””μ–΄ μ‚¬μ΄νŠΈμ—μ„œ νŠΉμ • 앱에 λŒ€ν•œ 사진 곡유 κΆŒν•œμ„ λΆ€μ—¬ν•  수 μžˆλ‹€. 이λ₯Ό 톡해, μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ€ μ‚¬μš©μžκ°€ μ†Œμ…œ λ―Έλ””μ–΄ μ‚¬μ΄νŠΈμ— λ‘œκ·ΈμΈν•˜κ³  사진을 κ³΅μœ ν•  수 있게 ν•΄μ€€λ‹€. μ΄λŸ¬ν•œ λͺ¨λ“  과정은 μ‚¬μš©μžμ˜ ID와 λΉ„λ°€λ²ˆν˜Έλ₯Ό μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— λ…ΈμΆœμ‹œν‚€μ§€ μ•Šκ³  이루어진닀.

OAuth 2.0λŠ” μ†Œμ…œ, μ›Ή, λͺ¨λ°”일 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ κ΄‘λ²”μœ„ν•˜κ²Œ μ‚¬μš©λ˜λ©°, μ‚¬μš©μžκ°€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— μžμ‹ μ˜ 정보λ₯Ό μ•ˆμ „ν•˜κ²Œ μ•‘μ„ΈμŠ€ν•  수 있게 ν•˜λŠ” 방법을 μ œκ³΅ν•œλ‹€. 이 ν”„λ‘œν† μ½œμ€ Facebook, Google, Twitter, Microsoft, Kakao, Naver λ“±κ³Ό 같은 μ£Όμš” 기업듀에 μ˜ν•΄ μ±„νƒλ˜μ—ˆλ‹€.

OAuth 2.0λŠ” 이전 버전인 OAuth 1.0에 λΉ„ν•΄ 훨씬 더 κ°„λ‹¨ν•˜λ©°, HTTP에 λŒ€ν•œ ν’λΆ€ν•œ 지식 없이도 μ‚¬μš©μž 인증을 μœ„ν•œ ν‘œμ€€ 방법을 μ‰½κ²Œ μ‚¬μš©ν•  수 μžˆλ‹€λŠ” 이점이 μžˆλ‹€. κ·ΈλŸ¬λ‚˜ λ³΄μ•ˆμ μΈ μΈ‘λ©΄μ—μ„œλŠ” μ£Όμ˜κ°€ ν•„μš”ν•˜λ‹€.

μΆ”κ°€λ‘œ, OAuth 2.0은 인증에 κ΄€ν•œ 정보λ₯Ό μ œκ³΅ν•˜μ§€ μ•ŠλŠ”λ‹€. μ΄λŠ” OAuth 2.0이 인증이 μ•„λ‹Œ 인가 ν”„λ‘œν† μ½œμ΄κΈ° λ•Œλ¬Έμ΄λ‹€. 인증에 λŒ€ν•œ 정보가 ν•„μš”ν•œ 경우, OpenID Connect와 같은 ν”„λ‘œν† μ½œμ„ ν•¨κ»˜ μ‚¬μš©ν•΄μ•Ό ν•œλ‹€.

OAuth2의 ν•„μš”μ„±

OAuth2의 λ„μž… μ΄μ „μ—λŠ”, μ• ν”Œλ¦¬μΌ€μ΄μ…˜λ“€μ΄ μ‚¬μš©μžμ˜ 데이터에 μ ‘κ·Όν•˜κΈ° μœ„ν•΄ μ‚¬μš©μžμ˜ 아이디와 λΉ„λ°€λ²ˆν˜Έλ₯Ό 직접 μš”μ²­ν•˜κ³€ ν–ˆλ‹€. μ΄λŠ” λ³΄μ•ˆμƒμ˜ μ‹¬κ°ν•œ 문제λ₯Ό μ•ΌκΈ°ν•˜μ˜€κ³ , 이 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ OAuth2 ν”„λ‘œν† μ½œμ΄ κ°œλ°œλ˜μ—ˆλ‹€.

OAuth2λŠ” λ‹€μŒκ³Ό 같은 μž₯점을 μ œκ³΅ν•œλ‹€.

  1. λ³΄μ•ˆμ„±: OAuth2λŠ” μ‚¬μš©μžμ˜ 아이디와 λΉ„λ°€λ²ˆν˜Έλ₯Ό 제3의 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— λ…ΈμΆœμ‹œν‚€μ§€ μ•Šκ³ , μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— 데이터 μ ‘κ·Ό κΆŒν•œμ„ λΆ€μ—¬ν•  수 있게 ν•΄μ€€λ‹€. 이둜써 μ‚¬μš©μžμ˜ κ°œμΈμ •λ³΄κ°€ λ³΄ν˜Έλœλ‹€.
  2. μ œμ–΄ κ°€λŠ₯μ„±: μ‚¬μš©μžλŠ” μ–΄λ–€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ–΄λ–€ 데이터에 μ ‘κ·Όν•  수 μžˆλŠ”μ§€, 그리고 μ–Όλ§ˆλ‚˜ 였래 μ ‘κ·Όν•  수 μžˆλŠ”μ§€ 등을 μ œμ–΄ν•  수 μžˆλ‹€.
  3. μ‚¬μš© νŽΈμ˜μ„±: OAuth2λ₯Ό μ§€μ›ν•˜λŠ” μ—¬λŸ¬ μ„œλΉ„μŠ€λ“€μ—μ„œλŠ”, μ‚¬μš©μžκ°€ λ³„λ„μ˜ 둜그인 κ³Όμ • 없이도 μ„œλΉ„μŠ€λ₯Ό μ΄μš©ν•  수 있게 ν•΄μ£Όλ―€λ‘œ μ‚¬μš©μž κ²½ν—˜μ„ ν–₯μƒμ‹œν‚¨λ‹€.

λ”°λΌμ„œ, OAuth2λŠ” μ‚¬μš©μžμ˜ λ³΄μ•ˆμ„ 보μž₯ν•˜λ©΄μ„œλ„ νŽΈλ¦¬ν•œ μ‚¬μš©μž κ²½ν—˜μ„ μ œκ³΅ν•˜λ―€λ‘œ 널리 μ‚¬μš©λ˜κ³  μžˆλ‹€.