21.3.31
2차 프로젝트 3일차
1. 스탠딩 미팅
- 백엔드 : models.py 검토 -> 피드백 수정 -> Pull -> 각자 역할 시작
- 프론트 :
- 컴포넌트(상품예정) 레이아웃 완성
- 로그인 거의 완료. 백엔드와 맞추면 됨.(최소 목요일에 맞춰보는 것으로 이야기. 클래스->훅,함수형으로 변경 예정) + 크리에이터 지원 메인 페이지 추가 레이아웃 잡기
- 카테고리 필터 및 소팅 논의(카테고리, 정확도 순 사용 ; 오픈예정과 바로수강과 유사한 레이아웃 + 응원권)
- 내부바(스타일드 컴포넌트 난이도+ PR 올림) + 호버하고 리베이스해서 pull 18시 가능
- 공유 사항 :
- 바로수강 보여주는 것만. 백에서 안 되면 목데이터로 전환할 예정
- 추가 사항 : 한 사람당 여러 클래스 만들 수 있다는 로직 구현 필요
view 통해서 가능
- 추가로 변경된 사항 : 키값 및 목데이터 수정 및 트렐로 업데이트
2. models.py 컨펌
- 큰 특이사항 없었음
- pending_lecture(오픈예정)에 추가 모델링
"신청 날짜 제한 모델"
결과 :
3. 카카오 소셜 로그인 시작
1. 로직 이해
<카카오 로그인 플로우>
1. 로그인 성공 : 카카오API -> 프론트엔드 인가코드 부여
2. 프론트엔드 -> 카카오API 엑세스 토큰 요청
3. 카카오API -> 프론트엔드 엑세스 토큰 발행
4. 프론트엔드 -> 백엔드 엑세스 토큰 발행
5. 백엔드 -> 카카오API 엑세스토큰으로 유저 정보 요청
6. 카카오API -> 백엔드 유저 정보 제공
7. 백엔드 DB에 유저 정보 저장 후 토큰 제작
8. 백엔드 -> 프론트엔드 유저 정보 담긴 토큰 발행
2. 실제 진행 범위
- 로그인 성공 가장하고 인가 코드 가져오는 것부터(get)
- 프로젝트 urls.py
from django.urls import path, include
urlpatterns = [
path('user', include('user.urls')),
path('lecture', include('lecture.urls')),
path('creator', include('creator.urls'))
]
- user urls.py
from django.urls import path
from .views import KakaoLoginView
urlpatterns = [
path('/login/kakao', KakaoLoginView.as_view()),
]
- user views.py
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 my_settings import KAKAO_KEY, SECTCRE_KEY
from .models import User, Creator
class KakaoLoginView(View):
def get(self, request):
print(request)
client_id = KAKAO_KEY['KAKAO_KEY']
redirect_uri = "http://127.0.0.1:8000/user/login/kakao/callback"
return redirect(
f"https://kauth.kakao.com/oauth/authorize?response_type=code&client_id={client_id}&redirect_uri={redirect_uri}"
)
- 문제 : 경로를 찾지 못 함
현재 해결 중. 추후 해결 시 다시 해결책 블로깅 할 것.
오늘 전체적인 플로우 : 스탠딩 미팅->모델검토 -> 소셜 로그인 로직 이해 -> 시작...
Author And Source
이 문제에 관하여(21.3.31), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sinichy7/21.3.31프로젝트저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)