[TIL_Carrotww] 72 - 22/12/14

μœ ν˜•μ„Β·2022λ…„ 12μ›” 15일
0

TIL

λͺ©λ‘ 보기
85/138
post-thumbnail

πŸ“Carrotww의 μ½”λ”© 기둝μž₯

🧲 μ†Œμ…œλ‘œκ·ΈμΈ λ™μž‘λ°©μ‹

πŸ” μ›λž˜ μ†Œμ…œλ‘œκ·ΈμΈμ„ λ‹΄λ‹Ήν•˜λ˜ νŒ€μ›μ΄ μžˆλŠ”λ° 사정이 생겨 λ‚˜κ°€κ²Œλ˜μ—ˆλ‹€.
κ΅¬ν˜„ν•˜κΈ° 전에 λ™μž‘ 원리λ₯Ό νŒŒμ•…ν•˜λ©΄ μ‰½κ²Œ κ΅¬ν˜„ν•  수 있기 λ•Œλ¬Έμ— 일단 정리해보렀고 ν•œλ‹€.

🧲 OAuth

πŸ” μ†Œμ…˜ 계정을 기반으둜 λ‘œκ·ΈμΈμ„ ν•  수 μžˆλ„λ‘ λ„μ™€μ£ΌλŠ”κ²Œ OAuth ν”„λ‘œν† μ½œμ΄λ‹€.

🧲 OAuth μš©μ–΄

  • Resource owner(μžμ› μ†Œμœ μž)
    β†’ Resource server(카카였, 넀이버 λ“±)의 계정을 μ†Œμœ ν•˜κ³  μžˆλŠ” μ‚¬μš©μž

  • Client
    β†’ 카카였, 넀이버 λ“±μ˜ API μ„œλΉ„μŠ€λ₯Ό μ΄μš©ν•˜λŠ” 제 3의 μ„œλΉ„μŠ€

  • Authorization Server(κΆŒν•œ μ„œλ²„)
    β†’ κΆŒν•œμ„ κ΄€λ¦¬ν•΄μ£ΌλŠ” μ„œλ²„, Access Token, Refresh Token 등을 λ°œκΈ‰, μž¬λ°œκΈ‰ν•΄μ£ΌλŠ” μ—­ν• 

  • Resource Server
    β†’ OAuth2 μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•˜κ³ , μžμ›μ„ κ΄€λ¦¬ν•˜λŠ” μ„œλ²„

  • Access Token
    β†’ Authorization Serverλ‘œλΆ€ν„° λ°œκΈ‰λ°›μ€ 인증 토큰, Resource Server에 μ „λ‹¬ν•˜μ—¬ μ„œλΉ„μŠ€ μ œκ³΅λ°›μ„ 수 μžˆλ‹€.


전체 흐름도와 λŒ€ν‘œμ μœΌλ‘œ 카카였 μ†Œμ…œ 둜그인의 흐름도λ₯Ό κ°€μ Έμ™€λ³΄μ•˜λ‹€.

우리의 μ„œλΉ„μŠ€λ₯Ό μ†Œμ…œλ‘œκ·ΈμΈμ— λ“±λ‘ν•˜μ˜€λ‹€λ©΄ 크게 두 κ³Όμ •μœΌλ‘œ 둜그인이 λœλ‹€.

μ‚¬μš©μžκ°€ 카카였 μ•„μ΄λ””λ‘œ μΉ΄μΉ΄μ˜€μ—μ„œ μ œκ³΅ν•˜λŠ” 둜그인 νŽ˜μ΄μ§€μ—μ„œ 둜그인 ν•˜κ²Œ 되면 μΉ΄μΉ΄μ˜€μ—μ„œ access token을 주게 되며

μœ„μ™€ 같은 응닡이 였게 될 것이닀.
κ³¨μžλŠ” JWT token을 μ‚¬μš©ν•΄λ³΄μ•˜λ‹€λ©΄ ν•΄λ‹Ή ν•­λͺ©λ“€μ„ μ‰½κ²Œ 이해할 수 μžˆμ„κ²ƒμ΄λ‹ˆ λ„˜μ–΄κ°€κ² λ‹€.

access Token을 λ°›μ•˜λ‹€λ©΄ 카카였 μ„œλΉ„μŠ€ 등둝 νŽ˜μ΄μ§€μ—μ„œ μž‘μ„±ν•˜μ˜€λ˜ Redirect url λΆ€λΆ„μœΌλ‘œ μΉ΄μΉ΄μ˜€ν†‘μ΄ μ‚¬μš©μžλ₯Ό μ΄λ™μ‹œμΌœμ€„ 것이닀.
μ‚¬μš©μžλŠ” 우리의 νŽ˜μ΄μ§€λ‘œ λ‹€μ‹œ λ„˜μ–΄μ˜€κ²Œ 되고 token값은 query string을 ν†΅ν•˜μ—¬ url에 ν¬ν•¨λ˜μ–΄ μ˜¨λ‹€.

κ·Έ λ‹€μŒ μš°λ¦¬λŠ” token을 가지고 μΉ΄μΉ΄μ˜€μΈ‘μ— μ €μž₯λ˜μ–΄μžˆλŠ” 고객정보λ₯Ό 가져와야 ν•˜λ©°, μΉ΄μΉ΄μ˜€λŠ” access token이 정상적인 토큰인지 ν™•μΈν•˜κ³  정보λ₯Ό 건내쀄 것이닀.

헀더에 토큰을 λ„£μ–΄μ„œ 보내주면 λœλ‹€.

🧲 μž‘λ‹΄

πŸ” λ³΄κΈ°μ—λŠ” μ‰¬μš΄λ° λΉ λ₯΄κ²Œ κ΅¬ν˜„ν•  수 μžˆμ„μ§€λŠ” 잘 λͺ¨λ₯΄κ² λ‹€ γ… 
μ±„νŒ…κΈ°λŠ₯처럼 일단 해봐야지 μ‹œκ°„μ΄ μžˆλ‹€λ©΄ 금방 ν•˜κ² μ§€λ§Œ λ‚΄κ°€ λ„˜κ²¨λ°›μ€ κΈ°λŠ₯인만큼 빨리 μ§„ν–‰ν•΄μ„œ 끝내보아야 κ² λ‹€.

profile
Carrot_hyeong

0개의 λŒ“κΈ€