SERIESPonsWarp Origin Story
[PonsWarp] 결제 성공보다 권한 증명이 먼저였다
·5 min read·112 views
PonsWarpWebRTCFile TransferRetrospective
PonsWarp에서 파일 전송을 별도 제품으로 분리한 뒤에도 결제와 입장 권한의 문제가 남았다. 결제 성공 화면을 보여 주는 것과 실제로 세션에 들어갈 권한을 증명하는 것은 같은 사건이 아니었다. 브라우저의 화면만 믿으면 권한이 확정되기 전에 입장을 열 수 있다.

성공 화면과 권한을 나누기
결제 성공, 권한 부여, 세션 입장은 사용자에게는 한 번의 흐름처럼 보이지만 운영상 분리해야 했다. 결제 상태를 서버가 확인하고, 그 결과로 입장 권한을 발급해야 한다. 화면이 먼저 초록색으로 바뀌었다고 방을 열 수는 없다.

파일 전송과 결제의 공통점
PonsWarp는 서버가 파일을 들고 있지 않는 원칙을 유지하면서 브라우저의 흐름 제어와 저장 전략을 직접 다뤄야 했다. 결제도 마찬가지로 편한 화면보다 책임의 경계를 먼저 정해야 했다. 누가 파일을 받을 수 있는지와 누가 세션에 들어올 수 있는지는 각각 증명돼야 한다.

권한 증명이 늦어지면 기다림을 명시적으로 보여 주면 된다. 결제 성공을 입장 성공으로 포장하지 않는 것이 신뢰를 지키는 더 단순한 방법이었다.
마치며
결제 성공은 권한의 증거가 아니다. 서버가 확인한 상태와 세션 권한을 분리해야 PonsWarp의 전송과 입장 흐름을 설명할 수 있다.