사용자 인증
Steam에서 사용자는 클라이언트가 게임을 실행할 때 항상 “로그인된” 상태입니다. API를 초기화하는 것 외에는 아무것도 하지 않고도 게임은 항상 사용자의 Steam ID에 접근할 수 있습니다. Steam에서의 인증은 세션 티켓(P2P 또는 전용 서버 사용), 암호화된 애플리케이션 티켓(보안 서버 사용), 또는 Steam Web API를 사용해ISteamUser API로 사용자의 미리 설정된 신원이 실제로 게임을 실행한 클라이언트에 로그인한 사용자인지 확인하는 프로세스를 의미합니다. 인증 후 Steam Web 또는 ISteamUser API는 티켓을 사용해 현재 게임이나 다운로드 가능한 콘텐츠(DLC)의 소유권을 확인할 수 있습니다.
이 확인 단계는 XBOX Game Development Kit(GDK)에서는 필요하지 않습니다. XBOX Game Development Kit(GDK) 초기화의 단계로 사용자를 로그인시킬 때 이미 확인을 완료했기 때문입니다. 따라서 XBOX Game Development Kit(GDK)에는 멀티플레이 세션을 위해 사용자의 신원을 확인하는 Steam 세션 티켓이나 암호화된 애플리케이션 티켓에 대응하는 것이 없습니다.
소유권 및 디지털 저작권 관리(DRM)
사용자가 현재 플레이하는 게임에 자격이 있는지 확인하려면XStore API의 XStoreQueryGameLicenseAsync 함수를 사용해 사용자가 그 게임을 플레이할 라이선스가 있는지 확인해야 합니다. 비동기 콜백에서 다음을 확인하세요.
- 쿼리가 성공했는지(즉, 사용자가 라이선스가 있는지).
XStoreQueryGameLicenseResult에서 제공된 라이선스가 여전히 활성 상태인지.
ISteamUser/CheckAppOwnership을 사용하거나 앱 티켓으로 SteamEncryptedAppTicket::BIsTicketForApp을 호출하는 것에 가장 가까운 대응 항목입니다.
이 확인을 수행하는 자세한 내용과 코드 샘플은 XStore: 기본 DRM 및 라이선스 확인을 참조하세요. 이 항목은 클라이언트 측 확인을 우회하는 변조를 방지하기 위한 더 견고한 라이선스 확인 옵션에 대한 정보도 포함합니다.
Steam은 또한 XBOX Game Development Kit(GDK)에 대응하는 것이 없는 DRM 래퍼를 제공합니다. Microsoft Store는 설치된 앱을 실행할 때 안티 파이러시 검사를 수행합니다. 완전한 DRM 보호를 위해 링크된 코드 샘플의 라이선스 확인을 실행하는 것과 함께 서드파티 솔루션을 사용하는 것을 권장합니다.
DLC 소유권 확인
게임에 연결된 DLC가 있는 경우XStore API로 사용자의 Microsoft Store 계정이 항목에 접근할 수 있는지 확인할 수 있습니다. 이러한 라이선스를 확인하려면 먼저 XStoreQueryAssociatedProductsAsync 함수를 사용해 게임과 연결된 모든 제품을 쿼리한 다음, ISteamUser/CheckAppOwnership 또는 ISteamUser::UserHasLicenseForApp 함수와 유사한 XStoreAcquireLicenseForPackageAsync 함수를 사용해 쿼리에서 반환된 목록의 특정 DLC 항목에 대한 라이선스를 얻어야 합니다.
게임 자격 확인과 마찬가지로 라이선스가 성공적으로 획득되었는지, 활성 상태인지 확인해야 합니다. 두 확인이 모두 통과하면 사용자가 해당 DLC 항목에 접근할 라이선스가 있다고 간주할 수 있습니다. 이 프로세스에 대한 코드 샘플은 선택 사항 패키지(DLC) 관리 및 라이선스를 참조하세요.
