[TIL] JWT로 Kakao & Google Login, Supabase DB 연동 (Flask)

2025-02-12 TIL

📝 TIL (Today I Learned)
🔗 원본 이슈: #15
📅 작성일: 2025-02-12
🔄 최종 수정: 2025년 02월 12일


🍀 새롭게 배운 것

  • JWT를 사용한 로그인 flask구현
    • Kakao
    • Google
  • Supabase PostgresSQL 연동

🍎 오늘의 문제 상황

  • Supabase Auth를 이용해 간편한 JWT 구현으로 Kakao 로그인을 구현하려고 했지만, 실패했다.

원인 분석

  • Kakao 로그인 동의항목에 이메일이 권한이 없어 선택되지 못했다.
    • Supabase를 통해 redirect되는 과정에서 이메일을 필수로 요구해서 이 부분을 수정하지 못했다..

해결 과정

  • Supabase 대신 Flask에서 직접 Kakao 로그인과 JWT 발급을 구현
    • Flask-JWT-Extended를 사용하여 사용자 인증 및 JWT 토큰 발급 처리
    • JWT 발급 시 identity=str(user.id)로 설정하여 422 Error 해결
  • JWT 인증을 활용한 게시판 기능을 구현하고, Authorization: Bearer YOUR_JWT_TOKEN 방식으로 인증
  • Postman을 통해 JWT 인증을 테스트하며 401 Unauthorized 문제 해결
    🚀 Flask를 활용하여 Supabase 없이 Kakao 로그인을 성공적으로 구현하고 JWT 인증까지 완료!

🦄 느낀 점

  • flask로 구현하니, 많은 사람들이 하지 않는 방식이라 그런지 공식 문서에서 코드가 없는 문제가 있다.
  • 많은 사람들이 사용하는 툴을 사용하는 것이 문제 해결에 도움이 된다..
    • 하지만 ChatGPT로 많은 부분 도움받을 수 있었다.
  • Supabase Auth와 DB 모두 사용해보고 싶었는데 약간 아쉬웠다.
    • 다음에는 Next.js로 구현해보고싶다.