OAuth 2 Login

상황

  • ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜λ©΄μ„œ μ‚¬μš©μž 인증 및 κ°€μž…μ„ κ΅¬ν˜„μ„ 맑게 λ˜μ˜€μœΌλ©°, μ‚¬μš©μž κ²½ν—˜κ³Ό λ³΄μ•ˆμ΄ μ€‘μš”ν•œ κ³ λ €μ‚¬ν•­μž…λ‹ˆλ‹€.

λ‚΄κ°€ λŠλΌλŠ” 문제

  • μ‚¬μš©μž κ²½ν—˜(UX)의 μ€‘μš”μ„±: μ‚¬μš©μž 인증과 κ°€μž… 절차의 λ³΅μž‘μ„±μ€ μ‚¬μš©μž κ²½ν—˜μ— 큰 영ν–₯을 λ―ΈμΉ©λ‹ˆλ‹€

  • 인증 절차 μ€‘μ˜ λ³΄μ•ˆ κ³ λ €: νŽΈμ˜μ„± ν–₯상과 ν•¨κ»˜ λ³΄μ•ˆ μœ μ§€κ°€ ν•„μš”ν•©λ‹ˆλ‹€.

ν•΄κ²°ν•  수 μžˆλŠ” 방법

  1. 단일 둜그인(Single Sign-On, SSO) λ„μž…: μ‚¬μš©μž νŽΈμ˜μ„± ν–₯상을 μœ„ν•΄ ν•˜λ‚˜μ˜ 인증으둜 μ—¬λŸ¬ μ‹œμŠ€ν…œμ— μ ‘κ·Όν•  수 있게 ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ, κ΅¬ν˜„μ˜ λ³΅μž‘μ„±κ³Ό μΆ”κ°€ λ³΄μ•ˆ 고렀사항이 ν•„μš”ν•©λ‹ˆλ‹€.

  2. μ†Œμ…œ 둜그인 λ„μž…: μ‚¬μš©μžκ°€ μ†Œμ…œ λ―Έλ””μ–΄ 계정을 톡해 λ‘œκ·ΈμΈν•  수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€. μ΄λŠ” 좔가적인 계정 정보 κΈ°μ–΅μ΄λ‚˜ μž…λ ₯의 ν•„μš”μ„±μ„ μ œκ±°ν•©λ‹ˆλ‹€.

  3. 인증 단계 μ΅œμ ν™”: ν•„μˆ˜μ μΈ μ •λ³΄λ§Œ μš”κ΅¬ν•˜κ³  인증 과정을 μ΅œμ†Œν™”ν•©λ‹ˆλ‹€. μ΄λŠ” μ‚¬μš©μž κ²½ν—˜μ„ ν–₯μƒμ‹œν‚€μ§€λ§Œ, ν•„μˆ˜ μ‚¬μš©μž 정보 μˆ˜μ§‘μ— 영ν–₯을 쀄 수 μžˆμŠ΅λ‹ˆλ‹€.

λ‚΄κ°€ μ„ νƒν•œ 방법과 이유

  • μ„ νƒν•œ 방법: μ†Œμ…œ 둜그인 λ„μž…, κ΅¬μ²΄μ μœΌλ‘œλŠ” Spring OAuth 2 μ‚¬μš©

  • 이유:

    • μ†Œμ…œ 둜그인의 νš¨μœ¨μ„±: μ‚¬μš©μžμ—κ²Œ μΉœμˆ™ν•˜κ³  μ‹ μ†ν•œ 인증 절차λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. λ˜ν•œ, κ°œλ°œμžμ—κ²ŒλŠ” λ³„λ„μ˜ 인증 인프라 ꡬ좕이 ν•„μš” μ—†μ–΄ 개발 μ‹œκ°„κ³Ό λΉ„μš©μ„ μ ˆμ•½ν•©λ‹ˆλ‹€.

    • Spring OAuth 2의 선택: Spring OAuth 2λŠ” μ†Œμ…œ 둜그인 κ΅¬ν˜„μ„ μœ„ν•œ κ°•λ ₯ν•˜κ³  μœ μ—°ν•œ ν”„λ ˆμž„μ›Œν¬λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. 이λ₯Ό 톡해 Google, Facebook, Twitter λ“± λ‹€μ–‘ν•œ μ†Œμ…œ λ―Έλ””μ–΄ ν”Œλž«νΌκ³Όμ˜ 톡합이 μš©μ΄ν•˜λ©°, λ³΄μ•ˆμ„±κ³Ό ν™•μž₯성을 보μž₯ν•©λ‹ˆλ‹€.

κ²°κ³Ό

  • μ‹ κ·œ μ‚¬μš©μž μœ μž… 증가와 μ‚¬μš©μž λ§Œμ‘±λ„:: μ†Œμ…œ 둜그인의 λ„μž…μœΌλ‘œ μƒˆλ‘œμš΄ μ‚¬μš©μžκ°€ μ„œλΉ„μŠ€μ— μ‰½κ²Œ κ°€μž…ν•  수 있게 λ˜μ—ˆλ‹€.

  • λ³΄μ•ˆμ„± μœ μ§€: μ‚¬μš©μž 인증 절차λ₯Ό κ°„μ†Œν™”ν•˜λ©΄μ„œλ„ 기본적인 λ³΄μ•ˆ μš”κ΅¬μ‚¬ν•­μ„ μΆ©μ‘±ν•˜μ—¬, μ‚¬μš©μžμ˜ 정보 보호λ₯Ό μœ μ§€ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

Last updated