-
Notifications
You must be signed in to change notification settings - Fork 1
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
feat: 웹 페이지로 스타카토 공유하기 #575
Comments
|
로직은 따로 필요하지만, 만료 기간이라는 애트리뷰트를 따로 저장하지 않아도 되니까 DB의 저장 공간에서 차이가 발생할 것 같아서 적어놓았습니다. 그런데 저희는 어차피
생각해보니 테이블의 primary key는 항상 따로 두면서 만들고 있었네요. 새로 생성되는 테이블도 리니 말씀대로 다른 테이블과 똑같은 키 생성 전략을 사용하면 될 것 같습니다! |
고민해볼 부분 3 - 동일한 스타카토에 대한 중복 링크 생성 가능 여부테이블의 primary key가 momentId가 아니라면, 동일한 스타카토에 대해 공유 링크가 여러 개 생길 수도 있습니다. |
동일 스타카토에 대한 중복 링크 생성을 막을 이유는 딱히 떠오르지 않았어요. |
동일한 스타카토의 중복 링크 생성을 제한하는 경우
동일한 스타카토의 중복 링크 생성을 제한하지 않는 경우
|
이 부분은 미처 생각하지 못했던 부분이네요. 확실히 원래 저희의 의도와 달라지는 것이라고 생각합니다.
점진적 개선을 적용해볼 수 있겠네요. 동의합니다! |
확실히 링크 정보를 디비에 저장하게 되면서, 많은 고민거리가 생기게 된 것 같습니다. 아예 링크 공유와 관련된 정보를 디비에 저장하지 않는 방식으로 생각해보았습니다. 공유하기 버튼 클릭 시
해당 링크를 다른 사람이 클릭하여 접근 시
보안측면에서의 이슈?
|
좋은 것 같아요! 토큰도 굳이 쿼리 스트링에 노출할 필요 없이 헤더에 담아놓을 수 있을 것 같네요! |
🥸 어떤 기능인가요?
기능 Flow 1 - 공유 링크 생성 단계
POST
요청을 백엔드 API(ex./share
)로 보낸다.요청에는 공유하려는 스타카토의 식별자(
momentId
)와 사용자 인증 토큰(Authorization
)이 포함된다.UUID
orJWT
)URL
)을 구성한다.(ex.
https://staccato.kr/shared-moment?token=<encryptedToken>
)momentId
,<encryptedToken>
, 만료 시간을 데이터베이스에 저장한다.기능 Flow 2 - 공유 링크로 웹페이지 접근 단계
GET /shared-moment?token=<encryptedToken>
momentId
를 조회하여 스타카토 정보를 가져온다.고민해볼 부분 1 - 공유 토큰 종류 설정
UUID
vsJWT
에 대한 의견이 궁금합니다. 제가 생각하는 각각의 장점은 아래와 같습니다.UUID
로 토큰을 생성하는 경우JWT
로 토큰을 생성하는 경우고민해볼 부분 2 - 테이블의 PRIMARY KEY 설정
momentId
vs<encryptedToken>
둘 중 무엇으로 설정하는 것이 좋을지에 대한 의견이 궁금합니다. 제가 생각하는 각각의 장점은 아래와 같습니다.momentId
를 Primary Key로 설정하는 경우<encryptedToken>
를 Primary Key로 설정하는 경우✅ 작업 내용
논의 후 결정
😇 이때까지 끝낼게요!
논의 후 결정
🙇♀️ 이슈 확인했어요:)
The text was updated successfully, but these errors were encountered: