2차 프로젝트 4일차

1. 스탠딩 미팅

  1. 백엔드 : 역할 분담 완료 / 메인화면 보다는 상품 전체(필터, 정렬은 후순위) -> 모달 , 로그인 맞춰보기
  2. 프론트엔드 : 트렐로 상 맡은 부분 진행 중인 것(크리에이터 지원 파트, 메인페이지, 모달 기능)
  3. 프/백 블로커 : 카카오 api url 문제, 함수형 난이도, 후버 기능 난이도

회의 최소화

2. 블로커

  1. 어제 해결 못한 문제 : SECRET_KEY 오타 난 것이었음.
  2. 해결 후 문제 : 로직 자체에서 문제
  • 시간은 없는데 프론트->백엔드 모든 과정을 다 하려다보니 로직이 틀어짐
  1. 해결 : 백엔드가 해야 하는 것만 하기로 방향 틀기(토큰 받고 받은 토큰으로 카카오API 정보 요청 후 받은 유저 정보로 데코레이터로 토큰 만들기)

3. 카카오 소셜 로그인 백엔드 역할(사용자 정보 요청)

  1. 만든 코드
  • 수빈님에게 배워서 겨우 만든 코드
import json
import bcrypt
import jwt
import requests

from django.shortcuts       import redirect
from django.views           import View
from django.http            import JsonResponse, HttpResponse
from django.core.exceptions import ObjectDoesNotExist
from django.db              import IntegrityError

from my_settings import SECRET_KEY, KAKAO_KEY
from .models     import User, Creator


class KakaoLoginView(View):
    def get(self,request):
        access_token = request.headers.get('Authorization')
        # 헤더에 Authorization으로 오는게 맞는지?, 토큰의 키가 맞는지?
        user_profile = requests.get(
            'https://kapi.kakao.com//v2/user/me', 
            headers={'Authorization' : f'Bearer {access_token}'}
            )
        json_user_profile = user_profile.json()
        print(json_user_profile)
        nickname = json_user_profile['properties']['nickname']
        print(nickname)
        username = User.objects.create(
            username = nickname
        )
        return JsonResponse({"message":nickname},status=200)

문제점 :
1. 토큰이 바뀌면 로직이 불안정하다-> 유닛테스트 아직 안 해봄
2. 현재 에러 난 상황

IntegrityError at /user/login
(1062, "Duplicate entry '' for key 'email'")

분명 이메일 중간에 한 번 밖에 확인 안 하고 다시 없앴는데 듀플리케이트 에러가 남. 아직 해결이 안 됨.

전반적으로 볼 때 소셜로그인 하는 법만 찾다가 겨우 방법 알아냈는데 그거마저 또 오류가 난 상황이라 크게 한 것이 없게 됨.

profile
커피 내리고 향 맡는거 좋아해요. 이것 저것 공부합니다.

0개의 댓글