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
- O usuário não autenticado abre um dos serviços.
- Seu cliente envia a solicitação
Check user authentication para o servidor Xsolla Login e recebe o erro 401. - Seu cliente abre o formulário de autenticação (Widget de Login ou sua interface de login) para o usuário.
- O usuário se autentica através de um nome de usuário e senha ou através de uma rede social.
- 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.
login_uri
que contémredirect_uri
comcode
no parâmetro de consulta.
- Seu cliente redireciona o usuário para
redirect_uri
. - Seu servidor envia a solicitação
Generate JWT para trocar ocode
recebido por um JWT. O usuário é autenticado no serviço. - O usuário abre outro serviço.
- Seu cliente envia a solicitação
Check user authentication para o servidor Xsolla Login e recebelogin_uri
que contémredirect_uri
comcode
no parâmetro de consulta. - Seu servidor envia a solicitação
Generate JWT para trocar ocode
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âmetroscope=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:
- Conecte o protocolo OAuth 2.0.
- 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
Exemplo de solicitação:
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:
- http
HTTP/1.1 200 OK
Content-Type: application/json
{
"login_url": "<redirect_uri>?code=<code>"
}
Para obter um JWT do usuário:
- Seu cliente implementa e usa a solicitação que redireciona o usuário para o
redirect_uri
recebido. - Seu servidor envia a solicitação
Generate JWT comcode
egrant_type=authorization_code
recebidos para obter um JWT.
Exemplo da resposta quando o usuário não é autenticado:
- http
HTTP/1.1 401 Unauthorized
Content-Type: application/json
{
"error": {
"code": "003-040",
"description": "User is unauthorized."
}
}
Encontrou um erro de texto ou digitação? Selecione o texto e pressione Ctrl+Enter.