Login / Conta multiplataforma
  Voltar aos Documentos

Login

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ê:

Se a conta principal e de plataforma estiverem vinculadas:

  1. O usuário se autentica em uma plataforma.
  2. O servidor Xsolla Login envia um token de conta principal para o usuário.
  3. 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:
  1. O jogador entra no jogo na plataforma do console pela primeira vez.
  2. A interface do jogo mostra a mensagem que oferece vincular a conta da plataforma à conta principal.
  3. O usuário inicia o aplicativo e se autentica na conta principal.
  4. O aplicativo envia a solicitação Create code for linking accounts para o servidor Xsolla Login.
  5. A interface do aplicativo mostra ao usuário um código para vincular as contas.
  6. O usuário retorna à versão de console do jogo e insere o código.
  7. O servidor do jogo envia a solicitação Link accounts by code para o servidor Xsolla Login.
  8. 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 especifique publisher_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.0
  • client_secret — chave secreta do cliente OAuth 2.0
Você pode usar os parâmetros acima para obter um token de servidor.

O algoritmo de integração de uma conta multiplataforma é o seguinte:

  1. Implemente a autenticação de usuário para:
    1. Conta principal
    2. Conta de plataforma
  2. Vincular as contas:
    1. Obtenção de um código para vincular
    2. Vinculação de contas

Autenticação de usuários na conta principal

A conta principal é criada em um projeto Login com um main_project_id especificado. Você pode usar o widget de Login e Login API para cadastros e autenticações.

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 via custom ID para outra plataforma.

Autenticação via ID personalizado

Para criar uma conta de plataforma, use a chamada Auth by custom ID no servidor do jogo. Passe os seguintes dados para esta chamada:

  • parâmetros publisher_project_id ou shadow_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:

  1. O cliente do jogo envia a solicitação de autenticação para um servidor do jogo quando o usuário inicia o jogo.
  2. O servidor do jogo gera ou usa um custom ID de usuário já existente.
  3. 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âmetros platform e user_id). Se o usuário com um ID personalizado passadao não for encontrado, um novo usuário será criado.
  4. O servidor Xsolla Login envia um token para o servidor do jogo.

Exemplo de solicitação:

Copy
Full screen
Small screen

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:

Copy
Full screen
Small screen
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:

  1. 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.
  2. Mostre o código recebido para o usuário.

Exemplo de solicitação:

Copy
Full screen
Small screen

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:

Copy
Full screen
Small screen
HTTP/1.1 200 OK
Content-Type: application/json

{
  "code": "123456"
}

Vinculação de contas

Use a chamada Link accounts by code para vincular uma conta de plataforma à conta principal. Passe o parâmetro 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:

Copy
Full screen
Small screen

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:

Copy
Full screen
Small screen
HTTP/1.1 204 No Content
Este artigo foi útil?
Obrigado!
Podemos melhorar alguma coisa? Mensagem
Que pena ouvir isso
Explique porque este artigo não foi útil para você. Mensagem
Obrigado pelo seu feedback!
Avaliaremos sua mensagem e a usaremos para melhorar sua experiência.
Última atualização: 31 de Julho de 2024

Encontrou um erro de texto ou digitação? Selecione o texto e pressione Ctrl+Enter.

Relatar um problema
Nós sempre avaliamos nossos conteúdos. Seu feedback nos ajuda a melhorá-los.
Forneça um e-mail para que possamos responder
Obrigado pelo seu feedback!