보안
MAJACLOUD가 대신 보호하는 것과 여전히 개발자가 책임져야 하는 것을 설명합니다.
코드 주석과 API 이름은 SDK와 일치하도록 영어로 유지합니다.
키#
- 클라이언트 키는 프로젝트를 식별할 뿐이며, 모든 플레이어 엔드포인트에는 해당 플레이어의 토큰도 필요합니다.
- 시크릿 키는 SHA-256 해시로 저장되고 한 번만 표시됩니다. 두 키 모두 API 키 페이지에서 교체할 수 있으며, 클라이언트 키를 교체하면 이전 키를 사용하는 빌드는 작동하지 않습니다.
시크릿 키(
sk_live_…)를 게임 빌드나 웹 페이지에 절대 넣지 마세요. 플레이어에게 배포된 것은 무엇이든 읽힐 수 있습니다.플레이어 토큰#
- 액세스 토큰은 1시간 후 만료되며, 사용할 때마다 교체되는 리프레시 토큰으로 자동 갱신됩니다.
- 이전 리프레시 토큰을 재사용하면 해당 세션이 모든 곳에서 취소됩니다.
HTTPS#
- API는 localhost를 제외하고 일반 HTTP를 거부하며, HTTPS에서는 HSTS를 보냅니다.
서버 권한#
- 점수, 보상, 지갑은 서버에서 검증하며, 클라이언트를 신뢰하지 않습니다.
- 클라이언트가 읽을 수 있는 것은 누구나 들여다볼 수 있습니다. 비밀 정보와 권한이 필요한 로직은 시크릿 키를 사용해 서버에 두세요.
서명된 구성#
- 원격 구성은 RSA-SHA256으로 서명되고 사용 전에 기기에서 검증되므로, 프록시나 변조된 네트워크 응답으로 값을 바꿀 수 없습니다.
플레이어 데이터#
- 대시보드에서 모든 플레이어를 조회하고 삭제할 수 있으며, 프로젝트를 삭제하면 모든 데이터가 제거됩니다. 로그의 IP 주소는 키 기반 해시로 저장됩니다.