OAuth νλ‘μ°
1.
μ¬μ©μκ° λ‘κ·ΈμΈμ μμ² (ν΄λΌμ΄μΈνΈ β μλ²)
/auth/kakao, /auth/google λ±μΌλ‘ μμ
λ‘κ·ΈμΈμ μμ²
2.
μλ²κ° μμ
μλΉμ€μ μΈμ¦νμ΄μ§λ‘ μ¬μ©μλ₯Ό 리λλ μ
3.
μμ
μλΉμ€κ° μ¬μ©μμ λ‘κ·ΈμΈμ μ²λ¦¬
4.
μμ
μλΉμ€κ° μΈμ¦ μ½λλ₯Ό λ°κΈ (μμ
μλΉμ€ β μλ²)
5.
μλ²κ° μμ
μλΉμ€μ μμΈμ€ ν ν°μ μμ² (μλ² β μμ
μλΉμ€)
6.
μμ
μλΉμ€κ° μλ²λ‘ μμΈμ€ ν ν°μ λ°κΈ (μμ
μλΉμ€ β μλ²)
7.
μλ²λ μμΈμ€ ν ν°μ μ¬μ©νμ¬ μμ
μλ²μ μ¬μ©μ μ 보λ₯Ό μμ²(μλ² β μμ
μλΉμ€)
8.
μμ
μλΉμ€λ μλ²μ μ¬μ©μ μ 보λ₯Ό λ°ν(μμ
μλΉμ€ β μλ²)
9.
μλ²λ μ¬μ©μ μ 보λ₯Ό λ°νμΌλ‘ JWT ν ν°μ μμ±
10.
μλ²λ JWTν ν°μ ν΄λΌμ΄μΈνΈμ λ°ν (μλ² β ν΄λΌμ΄μΈνΈ)
β’
Example
Kakao
1. ν΄λΌμ΄μΈνΈμμ Kakaoλ‘ λ‘κ·ΈμΈ μμ² (GET /auth/kakao)
2. μλ²μμ Kakao λ‘κ·ΈμΈ νμ΄μ§λ‘ 리λλ μ
Redirect to: https://kauth.kakao.com/oauth/authorize?client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&response_type=code
3. Kakao λ‘κ·ΈμΈ μλ£ ν, μλ²λ‘ 리λλ μ
Redirect to: https://your-server.com/auth/kakao/callback?code=ABCD1234
4. μλ²μμ codeλ₯Ό μΆμΆνκ³ μμΈμ€ ν ν°μ μμ²
5. Kakaoμμ μμΈμ€ ν ν° λ°κΈ
6. μμΈμ€ ν ν°μΌλ‘ Kakaoμ μ μ μ 보 μμ²
7. μ μ μ 보λ₯Ό λ°νμΌλ‘ JWTλ₯Ό λ§λ€μ΄ ν΄λΌμ΄μΈνΈλ‘ λ°ν
TypeScript
볡μ¬