Notice
Recent Posts
Recent Comments
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

게임을 만듭니다.

유니티 그리고 Node.js 인증모듈 passport 사용하기 본문

old_unclassfied

유니티 그리고 Node.js 인증모듈 passport 사용하기

인카고 2016. 1. 29. 16:21
문제인식의 순서
  • 게임클라이언트와 게임서버를 만들어야지
  • 사용자는 로그인을 할것이고 서버는 사용자의 아이디와 비밀번호를 받아 데이터베이스에서 조회해본 후 로그인처리를 하겠지
  • 로그인이 완료된 사용자는 게임을 하는 가운데 이런저런 요청(내 인벤토리의 아이템리스트를 내놓거라)을 할것이고 서버는 받은 요청에대해 누가 요청한건지를 알아야겠지
  • 웹이라고 생각하면 일단 생각나는것이 세션과 세션아이디를 유지하기위한 쿠키
  • Node.js에는 passport라는 인증모듈이 있는데 세부적인 인증방식에 따라 passport-local, passport-http, passport-facebook (등등등) 모듈이 있지
  • 세션과 쿠키를 사용하는것은 passport-local 이지
  • 그럼 Node.js와 passport-local을 이용해서 게임서버를 만들고
  • 유니티와 통신을 하도록 해보자

문제해결과정 이슈사항
  • Node.js 쪽은 훌륭한 예제/강좌가 많다.
  • https://www.youtube.com/watch?v=twav6O53zIQ 이 영상은 큰 도움이 되었다.
  • 문제는 유니티쪽에서의 처리
  • 유니티쪽에서 로그인페이지를 호출하여 response header의 SET-COOKIE를 적절히 처리해야 한다.
  • http://bspfp.pe.kr/535 이 페이지의 내용이 큰 도움이 되었다. 원문링크가 깨져서 아쉽. 간단히 설명하자면
    • 로그인완료후 넘어온 데이터가 1로 시작하면 로그인 성공으로 가정한다(이부분은 무어가 되었든 로그인 성공 플래그 같은거를 체크할수있도록 변경해서 사용해야함)
    • response header에 SET-COOKIE를 key로한 요소가 있다면 고녀석을 저장해둔다.
    • 그리고 일반 리퀘스트를 날릴 때 헤더에 쿠키정보를 넣어서 보낸다.(NormalRequest 메소드 참조)
  • 유니티에서 WWW 의 constructor는 5개인데 이중 url만 사용하는 하나를 제외하곤 다 POST요청이다.(서버측에서도 post 요청을 기대해야겠죠)
  • 근데 header를 같이보내야 되니깐 결국 POST요청을 사용해야 한다.
  • 결국 파라미터가 (url, postData, headers) 인 constructor를 사용해야 하는데 여기서 postData가 null이면 요청을 보내지 않는다.(가짜 데이터라도 넣어서 테스트하자)
  • 이걸 몰라서 혼자 생 고생을 함(왜 안돼지..... 왜안됒...)

새로운 문제인식


해볼것들

https를 사용해보자
참고자료


Comments