Conta multiplataforma
Como funciona
Glossário
Você tem acesso aos seguintes tipos de projeto Login na Conta de Distribuidor:
- O projeto Login padrão é um projeto Login usado para armazenar contas principais.
- O projeto Shadow Login é um projeto Login usado para armazenar contas de plataforma.
Conta principal é um tipo de conta criado em um projeto Login padrão e vinculado a contas da plataforma. A conta principal é usada para identificar o jogador em diferentes plataformas.
Conta de plataforma é um tipo de conta que é criado em um projeto Shadow Login e conectado a uma plataforma de publicação definida. A conta da plataforma não pode ser vinculada a outra conta da plataforma. Além disso, não é possível desvincular as contas de uma conta principal.
Plataforma de publicação é uma plataforma de jogos que é usada para distribuição de jogos (por exemplo, Steam, PlayStation, Xbox, etc.).
Conta multiplataforma é uma conta com contas de plataforma que se vinculam à conta principal.
Toda conta de usuário com jogos em uma plataforma definida deve corresponder a uma conta de plataforma em um projeto Shadow Login. Por exemplo, se o usuário tiver uma conta com os jogos que possui nas plataformas Xbox e PlayStation, as contas da plataforma do projeto Shadow Login deverão ser vinculadas às contas correspondentes da plataforma Xbox e PlayStation.
Uso de uma conta multiplataforma
Conta multiplataforma permite que você:
- tenha uma conta de jogo em diferentes plataformas
- obtenha a lista de amigos de uma conta social de uma conta de plataforma
Se a conta principal e de plataforma estiverem vinculadas:
- O usuário se autentica em uma plataforma.
- O servidor Xsolla Login envia um token de conta principal para o usuário.
- O servidor Xsolla Login autentica o usuário da conta principal.
Ao usar a conta multiplataforma, o ID do usuário em um token será o mesmo que o ID da conta principal. Você pode encontrar o ID do usuário no JWT > declaração sub
.
Fluxo de vinculação de contas
Se o usuário tiver a conta principal, ele poderá vincular uma conta de plataforma a ela durante a autenticação em uma plataforma. O fluxo é o seguinte:- O jogador entra no jogo na plataforma do console pela primeira vez.
- A interface do jogo mostra a mensagem que oferece vincular a conta da plataforma à conta principal.
- O usuário inicia o aplicativo e se autentica na conta principal.
- O aplicativo envia a solicitação
Create code for linking accounts para o servidor Xsolla Login. - A interface do aplicativo mostra ao usuário um código para vincular as contas.
- O usuário retorna à versão de console do jogo e insere o código.
- O servidor do jogo envia a solicitação
Link accounts by code para o servidor Xsolla Login. - O console mostra a mensagem de confirmação.
Quem pode usar
Parceiros que já integraram o Login e têm uma conta na plataforma de publicação.
Como obtê-lo
Para integrar uma conta multiplataforma, você precisará dos seguintes parâmetros da Conta de Distribuidor:
main_project_id
— ID de um projeto Login padrão no formato UUID. Por exemplo:f6c5011a-715e-4e5e-b7b1-a4812d85b8c8
.shadow_project_id
— ID de um projeto Shadow Login no formato UUID. Este projeto será usado como um projeto Shadow Login. Crie um projeto Login sombra e especifiquepublisher_project_id
para ele nas configurações do projeto Login.shadow_project_id
é o ID do projeto criado.publisher_project_id
— ID de um projeto. O parâmetro é exibido em Project settings > General settings > Project ID.
Envie os parâmetros shadow_project_id
e publisher_project_id
para o seu Gerente de Sucesso do Cliente para obter os seguintes parâmetros de cliente OAuth 2.0:
client_id
— ID do cliente OAuth 2.0client_secret
— chave secreta do cliente OAuth 2.0
O algoritmo de integração de uma conta multiplataforma é o seguinte:
- Implemente a autenticação de usuário para:
- Vincular as contas:
Autenticação de usuários na conta principal
A conta principal é criada em um projeto Login com ummain_project_id
especificado. Você pode usar o widget de Login e Autenticação usuários na conta da plataforma
Para cadastro e autenticação do usuário via plataforma, escolha o método e siga as instruções. Você pode combinar esses métodos. Por exemplo, você pode usar a autenticação silenciosa para a plataforma Xbox e a autenticação viaAutenticação via ID personalizado
Para criar uma conta de plataforma, use a chamada
- parâmetros
publisher_project_id
oushadow_project_id
(o servidor Xsolla Login retorna um erro se eles não forem passados) - um token de servidor
- informações da conta do usuário da plataforma no parâmetro
social_profile
Se você usar essa chamada de autenticação, você não poderá obter a lista de amigos do usuário de diferentes plataformas. A lista de plataformas disponíveis para autenticação não é limitada.
Fluxo de autenticação:
- O cliente do jogo envia a solicitação de autenticação para um servidor do jogo quando o usuário inicia o jogo.
- O servidor do jogo gera ou usa um
custom ID de usuário já existente. - O servidor do jogo envia a solicitação
Auth by custom ID para o servidor Xsolla Login especificando a plataforma e o identificador do usuário nela (parâmetrosplatform
euser_id
). Se o usuário com um ID personalizado passadao não for encontrado, um novo usuário será criado. - O servidor Xsolla Login envia um token para o servidor do jogo.
Exemplo de solicitação:
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"}}'
Exemplo da resposta:
- http
HTTP/1.1 200 OK
Content-Type: application/json
{
"token": "<platform_user_token>"
}
Autenticação silenciosa
Para configurar a autenticação silenciosa, crie um projeto Shadow Login e siga as instruções. Use métodos de autenticação silenciosa no servidor do jogo para criar uma conta de plataforma.Obtenção do código de vinculação
Para obter um código de vinculação:
- Use a chamada
Create code for linking accounts . Passe o token de usuário que você recebeu durante a autenticação na conta principal para esta chamada. - Mostre o código recebido para o usuário.
Exemplo de solicitação:
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'
Exemplo da resposta:
- http
HTTP/1.1 200 OK
Content-Type: application/json
{
"code": "123456"
}
Vinculação de contas
Use a chamada code
com o valor do código de vinculação que o usuário inseriu em uma plataforma de console para essa chamada.
Exemplo de solicitação:
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"}'
Exemplo da resposta:
- http
HTTP/1.1 204 No Content
Encontrou um erro de texto ou digitação? Selecione o texto e pressione Ctrl+Enter.