Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Device Token Handling Policy #27

Closed
4 tasks done
ray-yhc opened this issue Aug 2, 2023 · 0 comments · Fixed by #28
Closed
4 tasks done

Fix Device Token Handling Policy #27

ray-yhc opened this issue Aug 2, 2023 · 0 comments · Fixed by #28
Labels
💫 feat 기능 구현 이슈 🔨 fix 변경 사항 이슈

Comments

@ray-yhc
Copy link
Contributor

ray-yhc commented Aug 2, 2023

Description

Device Token 에 대한 처리 방식 정책을 변경하여, 해당 내용 수정이 필요합니다.

기존 처리 방식

  • Device Token은 NULL일 수 없고, 모든 사용자의 데이터에 대해 unique해야 한다.
  • NULL 혹은 Blank 인 값 전달 시 4xx 에러가 발생한다.
  • Device token 중복 시 5xx 에러가 발생한다.

기존 처리 방식에서는 다음 몇 가지 문제점이 발생했습니다.

  1. 안드로이드 기기 사용자 중 디바이스토큰을 얻을 수 없는 케이스가 존재한다. (중국 제조사, 루팅 기기 등등)
  2. 사용자의 기기 변경 시, 동일 기기 상에서 여러 유저가 회원가입(or 로그인) 시도 시 에러 발생

따라서 다음과 같이 수정합니다.

  1. DB의 Member Table에서 Device Token이 NULL 허용, Unique 해제
  2. Device Token에 대한 회원가입/토큰 업데이트 요청에서 NULL이 허용된다.
  3. 요청 Device Token이 NULL인 경우, 해당 사용자의 Device Token은 NULL로 설정한다.
  4. 요청 Device Token이 유효한 문자열인 경우, 동일 Device Token을 가진 DB 데이터는 모두 NULL로 변환되고, 요청 사용자의 Device Token만 해당 토큰으로 설정한다.

to Client 요청사항

  • device token이 추출이 안되는 기기일 경우 null값을 허용한다
  • null로 수정이 된 경우에도, 정상 device token이 보내질때와 동일하게 200번 code가 도착한다
  • 빈문자열이나 공백이 보내져도 200이 뜨니까 클라에서 주의해서 보내주거라

To-do

  • auth/Signup api 동작 수정
  • Patch device token api 동작 수정
  • 명세서 수정
  • 서버 배포

ETC

@ray-yhc ray-yhc added the 🔨 fix 변경 사항 이슈 label Aug 2, 2023
ray-yhc added a commit that referenced this issue Aug 2, 2023
…tch-devicetoken-policy

#27 fix patch devicetoken policy
@ray-yhc ray-yhc added the 💫 feat 기능 구현 이슈 label Aug 8, 2023
ray-yhc added a commit that referenced this issue Aug 8, 2023
…tch-devicetoken-policy

 #27 fix patch devicetoken policy
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💫 feat 기능 구현 이슈 🔨 fix 변경 사항 이슈
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant