Login / Acesso Único
  Voltar aos Documentos

Login

Acesso Único

Como funciona

Se você tiver vários serviços conectados com uma única conta comum para autenticação do usuário, você poderá usar o Acesso Único. O site do jogo funciona como um serviço. Ele permitirá que um usuário insira suas credenciais apenas uma vez. Depois disso, ao abrir um dos serviços conectados, o usuário já estará autenticado.

Fluxo de interação

  1. O usuário não autenticado abre um dos serviços.
  2. Seu cliente envia a solicitação Check user authentication para o servidor Xsolla Login e recebe o erro 401.
  3. Seu cliente abre o formulário de autenticação (Widget de Login ou sua interface de login) para o usuário.
  4. O usuário se autentica através de um nome de usuário e senha ou através de uma rede social.

  1. Seu cliente autentica o usuário em seu projeto Login:
    • As seguintes solicitações são usadas ao integrar o Login via chamadas de API:
    • O protocolo OAuth 2.0 é usado ao integrar o Login através do Widget.
    Os dados da sessão do usuário são salvos no servidor Xsolla Login. O servidor envia login_uri que contém redirect_uri com code no parâmetro de consulta.

  1. Seu cliente redireciona o usuário para redirect_uri.
  2. Seu servidor envia a solicitação Generate JWT para trocar o code recebido por um JWT. O usuário é autenticado no serviço.
  3. O usuário abre outro serviço.
  4. Seu cliente envia a solicitação Check user authentication para o servidor Xsolla Login e recebe login_uri que contém redirect_uri com code no parâmetro de consulta.
  5. Seu servidor envia a solicitação Generate JWT para trocar o code recebido por um JWT. O usuário é autenticado no segundo serviço.

Diferenciando direitos de acesso para serviços diferentes

Para diferenciar os direitos de acesso à conta de usuário para diferentes serviços, você pode usar valores especiais do parâmetro scope (por exemplo, scope=playfab) em diferentes clientes OAuth 2.0.

Quem pode usar

Parceiros que já integraram o Login e usam o banco de dados Xsolla, Firebase ou PlayFab.

Como obtê-lo

Para conectar o Acesso Único:

  1. Conecte o protocolo OAuth 2.0.
  2. Implemente a obtenção do retorno de chamada de solicitação de sessão do usuário.

Conexão do protocolo OAuth 2.0

Siga as instruções para conectar o protocolo OAuth 2.0. Você pode usar um cliente OAuth 2.0 para todos os serviços ou criar um cliente OAuth 2.0 separado para cada serviço.

Chamada da solicitação para obter a sessão do usuário

Implemente a solicitação do retorno de chamada Check user authentication ao abrir seu serviço. A solicitação deve ser executada antes de abrir o formulário de autenticação para o usuário. Para a autenticação, use os parâmetros de cliente OAuth 2.0 do serviço exato no qual o usuário deseja autenticar.

Exemplo de solicitação:

Copy
Full screen
Small screen

http

  • http
  • curl
GET https://login.xsolla.com/api/oauth2/sso?client_id=<client_id>&redirect_uri=<redirect_uri>&scope=<scope>&state=<state>&response_type=code HTTP/1.1
curl --request GET \
  --url 'https://login.xsolla.com/api/oauth2/sso?redirect_uri=redirect_uri&response_type=code&state=state&scope=scope&client_id=client_id'

Exemplo da resposta quando o usuário é autenticado:

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

{
  "login_url": "<redirect_uri>?code=<code>"
}

Para obter um JWT do usuário:

  1. Seu cliente implementa e usa a solicitação que redireciona o usuário para o redirect_uri recebido.
  2. Seu servidor envia a solicitação Generate JWT com code e grant_type=authorization_code recebidos para obter um JWT.

Exemplo da resposta quando o usuário não é autenticado:

Copy
Full screen
Small screen
HTTP/1.1 401 Unauthorized
Content-Type: application/json

{
  "error": {
    "code": "003-040",
    "description": "User is unauthorized."
  }
}
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!