0319
오늘 한 일
- REST framework 튜토리얼(4) 진행
오늘 할 일
-
REST framework 정리 -
Aithentication - tokenAuthentication 까지 읽기
부족한 부분
- Django user part
봐야할 자료
- REST framework - pagination 까지
- Django class-basic view
뷰셋
- dispatch method에 따라서 어떻게 처리하는지 알려주는 역할
- as_view
ajax
- 비동기식 데이터 요청
- 비동기적으로 데이터를 주고 받는 것을 ajax ex) 인스타그램, 페이스북
- 프론트엔드의 경우 ajax
0320
오늘 한 일
- 멜론 APIView 사용해서 api 생성
- 멜론 프론트 엔드 작성
Token
- AnonymousUser가 뜨는 경우, REST_FRAMEWORK 설정 넣기(setting.py)
- 최초 로그인 이후, 토큰으로 정보를 주고 받는다.
exception
- rest framewrk에서 제공하는 것들이 있음
Serializer relations
- 다대다 관계
- 중첩된 관계 (Nested relationships)
0321
오늘 할 일
-
프론트엔드에서 post요청으로 토큰 받아서 저장하기 -
팀프로젝트 모델링하기 - 멜론 아티스트 api 복습하기 -> 다 못햇음 ㅜㅜ(중첩된 데이터구조 부터 다시)
-
TDD 공부하기 - 5장까지 마무리
jQuerys
- button.style.display = “inline-block”;
- (jquery) button.css(‘display’,’none’)
// jquery객체로 바꿔준다.
var a = button
var j_button = $(a) = jQuery(a)
cookie
- 참고 자료
- 키는 중복없이 하나만(딕셔너리처럼)
document.cookie = "username=kahee; expires=Tue, 16 date expires; path=/"
넣으면 자동으로 설정된 날짜 이후에 쿠키가 삭제 된다. 그리고expires
가 없는 경우엔 브라우저를 껐다켜면 사라진다.path
는 쿠키가 저장되는 장소.
postman - token 오류
- postman에서 응답을 못하는 오류가 있었다. 그런데 알고보니 토큰 값뒤에 …이 있어서 발생된 것! 이것은 붙여넣기 할때 뒤에 공백값까지 같이 들어와서 발생된 것!
{"key":"Authorization","value":"Token 1660b3d01123b7f91d54e2d6716a59882eb9ab18..."]
0322
오늘 한 일
- Token 저장
- Token 있는지 확인한 후, get 요청으로 user 정보 받음
- facebooklogin in frontend
내일 할 일
-
해커톤~~~~ - TDD 6장 마무리하기
-
Mleon API 복습하기 (facebook 로그인 기능구현까지)
Token -> User 정보 넘겨주기
1. Client -> HTTP Header 'Authorization: Token <value>'
2. Server (DRF) middleware
-> request의 HTTP Header를 검사, Authorization키에 'Token <value>'가 있으면
-> 그 request.user에 Token value에 해당하는 User를 할당
3. Server APIView
-> request를 사용해서 permissions를 체크
-> 성공하면 get() 메서드 실행 후 리턴
Django facebook login
- 사이트에서 ‘페이스북 로그인’버튼 클릭
- 페이스북 사이트로 이동해서 사용자 인증 및 권한 인가 완료 (클라이언트 쪽)
- 토큰이 사이트에 get매캐변수로 전달됨 (페이스북 -> 사이트 서버로 전달) // 프론트엔드
- 사이트의 View에서 받은 토큰을 사용해서 페이스북과 인증과정 거침 (사용자 개입 없음)
- 인증이 완료되면 사이트에서 회원가입 및 로그인 유지를 위한 처리 -오류 앱 도메인이 추가가 안되있는 경우 오류가 난다. (localhost)
Token login
- 클라이언트가 username, password를 이용해 토큰을 요청
- 서버는 전달받은 자격 인증을 이요해서 유저를 인증, 성공하면 Token을 돌려줌
- 클라이언트는 받은 Token을 이후 요청마다 HTTP Header에 담다 보냄
클라이언트의 Facebook login with Token
- 클라이언트가 Facebook access_token을 이용해 토큰을 요청
- 서버는 전달받은 access_token을 이용해서 유저를 인증, 페이스북토큰의 검증에 성공했고 해당하는 유저가 있으면 Token을 돌려줌 페이스북토큰의 검증에 성공했으나 해당하는 유저가 없으면 유저를 생성 후 Token을 올려줌 페이스북의 검증에 실패했으면 오류 발생시킴
- 클라이언트는 받은 Token 을 이후 요청마다 HTTP Header에 담아 보냄
서버측의 Facebook access_token을 사용한 authenticate Backend구현
- AuthTokenForFacebookAccessTokenView() -> /api/members/facebook-auth-token/
- 클라이언트에서 getAuthTokenForFacebook() 구현