[TIL] JWT로 Kakao & Google Login, Supabase DB 연동 (Flask)
in TIL on Til, Flask
2025-02-12 TIL
📝 TIL (Today I Learned)
🔗 원본 이슈: #15
📅 작성일: 2025-02-12
🔄 최종 수정: 2025년 02월 12일
🍀 새롭게 배운 것
- JWT를 사용한 로그인 flask구현
- Kakao
- 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로 구현해보고싶다.