권한은 여러 요소를 기반으로 합니다
XBOX services 사용자의 유효한 권한은 다음 요소를 기반으로 합니다.- 해당 사용자의 구독 사용 권한
- XBOX services에 액세스하는 데 사용되는 디바이스 유형
- 현재 실행 중인 앱
- 해당 사용자의 계정에 적용된 자녀 보호 설정
- XBOX services의 온라인 안전 및 시행 관리자로부터의 입력(예: XBOX services 정지)
권한은 인증 중에 계산됩니다
사용자의 유효한 권한은 사용자가 로그인하고 XBOX services에 대해 권한 부여될 때 XBOX services에 의해 계산되고 발급됩니다. 사용자의 권한은 인증 시점에 수신되는 토큰에 담겨 전달됩니다. 권한은 토큰 클레임으로 발급됩니다.XBOX services의 권한 정보
다음 스크린샷과 같이 클라이언트 앱이 사용자의 권한 정보를 얻으려면 사용자가 XBOX services에 액세스해야 합니다.사용자 권한 정보의 흐름
- XBOX services 클라이언트(타이틀 또는 앱을 대신하여)는 XBOX 보안 토큰 서비스(XSTS)에서 토큰을 요청합니다.
- XSTS는 요청된 관계자에게 토큰을 반환합니다. 그런 다음 XSTS는 요청에 포함된 모든 사용자에 대한 권한을 계산하고
토큰 클레임으로 발급합니다. 클라이언트 앱의 요청에는 다음과 같은 자동화된 작업이 포함됩니다.
- 앱이 XBOX services를 직접 호출하고 요청의 인증 헤더에 토큰을 포함합니다.
- XBOX services는 토큰의 권한을 기반으로 요청된 기능(예:
XPRIVILEGE_MULTIPLAYER_SESSIONS)에 대한 액세스를 부여합니다.
- XBOX services는 토큰의 권한을 기반으로 요청된 기능(예:
- 또는 앱이 SSO용으로 구성된 관계자 서비스를 호출합니다.
- 서비스는 요청의 인증 헤더에 있는 토큰을 포함합니다.
파트너 SSO 서비스가 XBOX services 기능의 구현(예:
XPRIVILEGE_USER_CREATED_CONTENT와 같은 다운로드 가능한 사용자 생성 콘텐츠)을 제공하는 경우, 파트너 서비스는 토큰의 권한을 사용하여 요청된 기능에 대한 액세스를 부여합니다. - XBOX services 토큰을 해독하고 역직렬화하려면 파트너 서비스가 SSO용으로 구성되어야 합니다.
- 이 구성에 대한 자세한 내용은 타이틀 서비스용 XBOX services 인증을 참조하세요.
- 서비스는 요청의 인증 헤더에 있는 토큰을 포함합니다.
파트너 SSO 서비스가 XBOX services 기능의 구현(예:
[!NOTE] 클라이언트는 XBOX 플랫폼 API를 사용하여 XBOX services에 요청을 발행하기 전에 사용자 경험을 사용자 지정하고 해결(예: 업셀링, 자녀 보호 재정의)을 유도할 수 있습니다.
- 앱이 XBOX services를 직접 호출하고 요청의 인증 헤더에 토큰을 포함합니다.
- 파트너 서비스는 위임된 인증 토큰을 사용하여 사용자를 대신해 XBOX services에 요청할 수 있습니다.
- 요청이 특정 권한(예:
XPRIVILEGE_COMMUNICATIONS)을 요구하는 기능에 대한 것이라면, 파트너 서비스는 사용자를 대신하여 XBOX services에 대한 위임된 인증 토큰을 획득하고 이를 요청의 인증 헤더에 포함해야 합니다. - XBOX services는 사용자의 권한을 기반으로 요청 기능에 대한 액세스를 부여합니다.
- 요청이 특정 권한(예:
사용자 ID의 권한
권한은 사용자 ID의 클레임이며, 이 클레임에는 다음 헤더 클레임에 표시된 대로 사용자의 현재 유효한 권한 컬렉션이 포함됩니다. 권한이 컬렉션에 있으면 사용자는 현재 해당 기능에 액세스할 권한이 있습니다. 권한이 컬렉션에 없으면 사용자는 현재 권한이 없습니다. 사용자의 유효한 권한은 동적이며, 다음 시나리오에 따라 달라집니다.- 만료된 구독 사용 권한
- 현재 실행 중인 앱
- 동일한 클라이언트 디바이스에 로그인된 모든 계정
- 클라이언트 디바이스의 상태
- 해당 사용자의 계정에 적용된 자녀 보호 설정
- 온라인 안전 및 시행 관리자로부터의 입력(예: XBOX services 정지)
사용자가 특정 시점에 어떤 기능에 대해 권한이 부여되었다고 해서 나중에 그 기능에 액세스할 권한이 있음을 보장하지는 않습니다.
