플랫폼 간 계정
작동 방식
글로서리
관리자 페이지에서 다음과 같은 로그인 프로젝트 유형에 액세스할 수 있습니다.
- 표준 로그인 프로젝트는 주 계정을 저장하는 데 사용되는 로그인 프로젝트입니다.
- 그림자 로그인 프로젝트는 플랫폼 계정을 저장하는 데 사용되는 로그인 프로젝트입니다.
주 계정은 표준 로그인 프로젝트에서 생성되어 플랫폼 계정에 연동되는 계정 유형입니다. 주 계정은 다른 플랫폼에서 플레이어를 식별하는 데 사용됩니다.
플랫폼 계정은 그림자 로그인 프로젝트에서 생성되어 명확한 퍼블리싱 플랫폼에 연결되는 계정 유형입니다. 플랫폼 계정은 다른 플랫폼 계정에 연동할 수 없습니다. 또한 주 계정에서 계정의 연결을 해제할 수 없습니다.
퍼블리싱 플랫폼은 게임 배포(예: Steam, PlayStation, Xbox 등)에 사용되는 게임 플랫폼입니다.
플랫폼 교차 계정은 주 계정 및 플랫폼 계정과 연동되는 계정입니다.
명확한 플랫폼 상에 게임이 있는 모든 사용자 계정은 그림자 로그인 프로젝트의 플랫폼 계정과 일치해야 합니다. 예를 들어, 사용자가 Xbox 및 PlayStation 플랫폼에 자신이 소유한 게임의 계정을 가지고 있는 경우, 그림자 로그인 프로젝트 플랫폼 계정은 해당 Xbox 및 PlayStation 플랫폼 계정에 연동되어 있어야 합니다.
플랫폼 간 계정 사용
교차 플랫폼 계정을 사용하면 다음을 수행할 수 있습니다:
- 여러 플랫폼에서 하나의 게임 계정 사용
- 플랫폼 계정에서 소셜 계정 친구 목록 가져오기
주 계정과 플랫폼 계정이 연동되어 있는 경우:
- 사용자가 플랫폼에서 인증합니다.
- 엑솔라 로그인 서버가 주 계정 토큰을 사용자에게 보냅니다.
- 엑솔라 로그인 서버는 주 계정 사용자를 인증합니다.
플랫폼 교차 계정을 사용하는 경우 토큰의 사용자 ID는 주 계정 ID와 동일합니다. JWT > sub
요청에서 사용자 ID를 찾을 수 있습니다.
계정 연동 플로우
사용자가 주 계정을 가지고 있으면 플랫폼에 인증하는 동안 플랫폼 계정에 연동시킬 수 있습니다. 플로우는 다음과 같습니다.- 플레이어가 처음으로 게임 콘솔 플랫폼을 통해 게임에 들어갑니다.
- 게임 UI에는 플랫폼 계정을 주 계정에 연동시키라는 메시지가 표시됩니다.
- 사용자는 애플리케이션을 시작하여 주 계정에서 인증합니다.
- 애플리케이션은
Create code for linking accounts 요청을 엑솔라 로그인 서버에 보냅니다. - 애플리케이션 UI는 계정 연동을 위한 코드를 사용자에게 표시합니다.
- 사용자는 게임의 콘솔 버전으로 돌아가서 코드를 입력합니다.
- 게임 서버는
Link accounts by code 요청을 엑솔라 로그인 서버에 보냅니다. - 게임 콘솔은 확인 메시지를 표시합니다.
사용자
이미 로그인을 통합하고 퍼블리싱 플랫폼 계정을 보유한 파트너.
획득 방법
플랫폼 교차 계정을 통합하려면 다음과 같은 관리자 페이지 매개 변수가 필요합니다.
main_project_id
— UUID 형식의 표준 로그인 프로젝트 ID. 예:f6c5011a-715e-4e5e-b7b1-a4812d85b8c8
.shadow_project_id
— UUID 형식의 그림자 로그인 프로젝트 ID. 이 프로젝트는 그림자 로그인 프로젝트로 사용됩니다. 그림자 로그인 프로젝트를 생성하고 이에 대해 로그인 프로젝트 설정에서publisher_project_id
를 지정하십시오.shadow_project_id
는 생성된 프로젝트의 ID입니다.publisher_project_id
— 프로젝트 ID. 이 매개 변수는 프로젝트 설정 > 일반 설정 > 프로젝트 ID에 표시됩니다.
shadow_project_id
및 publisher_project_id
매개 변수를 고객 성공 매니저에게 보내 다음 OAuth 2.0 클라이언트 매개 변수를 가져옵니다.
client_id
— OAuth 2.0 클라이언트 IDclient_secret
— OAuth 2.0 클라이언트 비밀 키
플랫폼 교차 계정을 통합하는 알고리즘을 다음과 같습니다.
- 다음에 대해 사용자 인증 구현:
- 계정 연동:
메인 계정에서 사용자 인증
주 계정은main_project_id
로 지정된 로그인 프로젝트에서 생성됩니다. 로그인 위젯과 플랫폼 계정에서 사용자 인증
플랫폼을 통한 사용자 등록 및 인증을 위해서는 메소드를 선택하고 지침을 따릅니다. 메소드를 결합할 수 있습니다. 사례: 암묵인증을 Xbox 플랫폼 인증에 사용하고 다른 플랫폼에 다음을 통한 인증Custom ID를 통한 인증
플랫폼 계정을 만들려면, 게임 서버에서
publisher_project_id
또는shadow_project_id
매개 변수(전달되지 않으면 엑솔라 로그인 서버에서 오류를 반환합니다)- 서버 토큰
social_profile
매개 변수
이 인증 호출을 사용하면 다른 플랫폼에서 사용자 친구 목록을 가져올 수 없습니다. 인증에 사용할 수 있는 플랫폼 목록은 제한되어 있지 않습니다.
인증 플로우:
- 게임 클라이언트는 사용자가 게임을 시작할 때 인증 요청을 게임 서버에 보냅니다.
- 게임 서버는
custom ID 를 생성하거나 기존 사용자 정의 ID를 사용합니다. - 게임 서버는 플랫폼 및 사용자 식별자를 지정하여
Auth by custom ID 요청을 엑솔라 로그인 서버에 보냅니다(platform
및user_id
매개 변수). 전달된 사용자 정의 ID를 가진 사용자를 찾을 수 없으면 새 사용자가 생성됩니다. - 엑솔라 로그인 서버는 게임 서버에 토큰을 보냅니다.
요청 사례:
http
- http
- curl
POST https://login.xsolla.com/api/users/login/server_custom_id?publisher_project_id=<publisher_project_id> HTTP/1.1
X-Server-Authorization: <server_token>
Content-Type: application/json
{
"server_custom_id": "secret_value",
"social_profile": {
"platform": "xbox",
"user_id": "123"
}
}
curl --request POST \
--url 'https://login.xsolla.com/api/users/login/server_custom_id?publisher_project_id=publisher_project_id' \
--header 'content-type: application/json' \
--header 'x-server-authorization: server_token' \
--data '{"server_custom_id":"secret_value","social_profile":{"platform":"xbox","user_id":"123"}}'
응답 예제:
- http
HTTP/1.1 200 OK
Content-Type: application/json
{
"token": "<platform_user_token>"
}
암묵인증
자동 인증을 설정하려면, 섀도우 로그인 프로젝트를 만들고 지침을 따릅니다. 플랫폼 계정을 생성을 위해 게임 서버에서 자동 인증 방법을 사용합니다.연동 코드 가져오기
연동 코드를 가져오려면 다음과 같이 하십시오:
Create code for linking accounts 호출을 사용합니다. 주 계정에서 인증하는 동안 받은 사용자 토큰을 이 호출에 전달합니다.- 받은 코드를 사용자에게 표시합니다.
요청 사례:
http
- http
- curl
POST https://login.xsolla.com/api/users/account/code HTTP/1.1
Authorization: Bearer <main_user_token>
curl --request POST \
--url https://login.xsolla.com/api/users/account/code \
--header 'authorization: main_user_token'
응답 예제:
- http
HTTP/1.1 200 OK
Content-Type: application/json
{
"code": "123456"
}
계정 연동
code
매개 변수를 사용자가 콘솔 플랫폼에 입력한 연동 코드 값과 함께 이 호출에 전달하세요.
요청 사례:
http
- http
- curl
POST https://login.xsolla.com/api/users/account/link HTTP/1.1
X-Server-Authorization: <server_token>
Content-Type: application/json
{
"code": "123456",
"platform": "xbox",
"user_id": "123",
"publisher_project_id": 44056
}
curl --request POST \
--url https://login.xsolla.com/api/users/account/link \
--header 'content-type: application/json' \
--header 'x-server-authorization: server_token' \
--data '{"code":"123456","platform":"xbox","publisher_project_id":44056,"user_id":"123"}'
응답 예제:
- http
HTTP/1.1 204 No Content
오자 또는 기타 텍스트 오류를 찾으셨나요? 텍스트를 선택하고 컨트롤+엔터를 누르세요.