XREAL-SNU / XVerse

XVerse
2 stars 1 forks source link

Web Utilities #7

Open AliceOfSNU opened 2 years ago

AliceOfSNU commented 2 years ago

목표

쉽게 web request를 보내고 그 결과를 받아볼 수 있는 api 작성. UnityWebRequest를 직접 이용하지 않고, wrapper를 사용하여 잘 모르는 사람도 손쉽게 이용가능하도록 함.

상세내용

Links

[web api documentation] https://www.notion.so/2021sprinter/XVerseWeb-documentation-6ab2636715d84fa0bccda589dbc0c9ce

[firebase login] https://www.notion.so/2021sprinter/Social-11b855a713dc4df0a2691fe44e27082c

[firebase console] https://console.firebase.google.com/u/3/project/xverse-9fe5f/overview

AliceOfSNU commented 2 years ago

진행상황

  1. 태호님이 firebase app을 파주셨습니다. XVerseDemo 앱이며, 학회이메일(xversemakers) 또는 아래 콘솔에 직접 등록한 개인 이메일로 접근가능합니다. https://console.firebase.google.com/u/3/project/xverse-9fe5f/overview

  2. 위 links 의 firebase login notion에서 firebase client(Unity) 셋업 방법을 확인하실 수 있습니다. firebase기능을 테스트해보려면 반드시 로그인 해줄 클라이언트가 필요하기에, 해당 셋업이 dev에 푸시되기 전까지(파일 용량 문제로 딜레이중)는 직접 저 셋업(project settings와 unitypackage임포트)을 따라하되, 유니티 코드는 노션페이지 말고 아래 코드를 유니티 c#스크립트로 생성한 후 빈 게임오브젝트에 붙여 사용하세요

  3. firebase-admin 은 클라이언트가 보내는 토큰을 firebase api를 통해 인증하고, 성공하면 해당 토큰을 decode하여 유저의 정보에 server app이 접근할 수 있게 함과 동시에, 유저가 서버의 REST api기능에 접근할 수 있도록 합니다. firebase admin패키지를 순규님 서버에 설치해놨으며, 저희 XVerseDemo앱과 연결되도록 app settings json파일을 다운받아놨습니다.

  4. firebase-admin의 사용법은 https://firebase.google.com/docs/auth/admin/verify-id-tokens#verify_id_tokens_using_the_firebase_admin_sdk 이 도큐멘테이션에서 출발하면 좋습니다.

AliceOfSNU commented 2 years ago
  1. Unity client에서 유저가 로그인하면 토큰을 발급받을 수 있습니다.해당 토큰은 이 브랜치의 web request api가 아직 헤더 설정을 지원하지 않기 때문에, unity web request를 직접 사용하여 header에 토큰을 붙여 aws에 리퀘스트를 넣어야 하고, 이 부분은 아직 참고자료를 못찾아봤습니다.

  2. 결국 unity에서 로그인 -> token을 헤더에 싣어 전달 -> server측에서 admin sdk를 사용하여 decode하는 과정이 테스트 되면 됩니다

AliceOfSNU commented 2 years ago

아카이빙될 수 있는 정보는 노션에 정리하는 원칙에 따라 아래 노션에 서버 내용도 통합합니다. https://www.notion.so/2021sprinter/Social-11b855a713dc4df0a2691fe44e27082c#bb7968e2633c44499e3a4c3837986765