Armazenamento de dados do usuário personalizado

Se você utiliza um armazenamento de dados de usuários personalizado, o Xsolla Login atuará como intermediário, e todos os dados de identificação de usuários será armazenado do seu lado. O Xsolla Login passa os dados de autenticação em um token incluso no cabeçalho dos webhooks e nos corpos deles.

Observação
Endereços de e-mail do usuário, dados de mídias sociais e atributos do usuário são armazenados no lado da Xsolla. As senhas não são armazenadas no lado da Xsolla.
Se você usa armazenamento personalizado, você tem acesso a:
Observação
Se você está testando a integração localmente, solicitações POST da Xsolla não alcançam URLs como http://localhost:3000/my-webhook-endpoint. Ngrok permite que você crie um túnel para acessos externos, possibilitando o recebimento de solicitações da Xsolla localmente. Você pode ler mais sobre isso na documentação do ngrok.

Fluxo de interação

Observação
O cenário de interação depende do protocolo de autenticação escolhido: JWT ou OAuth 2.0.
Observação
O comprimento máximo do JSON com dados de usuário adicionais é de 1.000 caracteres.
Os seguintes dados podem ser adicionados às propriedades do perfil do usuário:

Você também pode atualizar atributos de usuário passando uma matriz de objetos de atributos de usuário. A estrutura desses objetos está descrita abaixo.

Estrutura de um objeto de atributo de usuário:

ParâmetroTipoDescrição
attr_type
stringDefinição do nível de acesso do usuário aos atributos de serviço:
  • client — Um atributo editável pelo usuário. Os valores para esse tipo de atributo são inseridos por um usuário ou especificados de acordo com as lógicas do jogo no lado do cliente. Por exemplo, o nome e as estatísticas do personagem, o nível de dificuldade do jogo, etc. (padrão)
  • server — Um atributo somente leitura. Os valores para esse tipo de atributo são inseridos e editados no lado do servidor do seu aplicativo. Recomendamos que você os use para configurar estatísticas de personagens do jogo ou parâmetros de usuário que não devem ser alterados regularmente. Por exemplo, chance de obter um bônus, parâmetros chave de personagem do jogo, categorias de usuário, etc.
key
stringO nome do atributo usado para identificar o atributo do usuário. Deve ser exclusivo para cada usuário.
Comprimento máximo: 256 símbolos. Você pode usar números, letras latinas, hifens e sublinhados.
permission
cadeia de caracteres ou nullO tipo de acesso aos atributos do usuário afeta a lista de atributos retornados pelos métodos:
Possible values: public, private(padrão).
read_only
stringSe o atributo está protegido contra modificações ou não. Por padrão, false e alterar os valores do atributo é permitido.
value
stringO valor do atributo do usuário.
Comprimento máximo: 256 símbolos.

Cadastro de usuários

Observação
O cenário de interação depende do protocolo de autenticação escolhido: JWT ou OAuth 2.0.

Autenticação via nome de usuário e senha

Observação
O cenário de interação depende do protocolo de autenticação escolhido: JWT ou OAuth 2.0.

Autenticação sem senha via número de telefone

Observação
O cenário de interação depende do protocolo de autenticação escolhido: JWT ou OAuth 2.0.

Autenticação sem senha via e-mail

Observação
O cenário de interação depende do protocolo de autenticação escolhido: JWT ou OAuth 2.0.

Autenticação via redes sociais

Observação
O cenário de interação depende do protocolo de autenticação escolhido: JWT ou OAuth 2.0.

Redefinição de senha do usuário

  1. O cliente envia a solicitação Reset password POST ao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros obrigatórios:
    • Parâmetro de pesquisa projectId — ID do projeto Login na Conta de Distribuidor.
    • O parâmetro do corpo username — nome do usuário. Comprimento permitido: 3 a 255 caracteres.
  2. O servidor Xsolla Login envia um webhook ao URL de redefinição de senha.
  3. Se a redefinição de senha do usuário não for bem-sucedida, você poderá fornecer uma mensagem de erro que será exibida no widget de autenticação. Para fazer isso, na resposta à solicitação de criação do usuário, passe um objeto de error com os seguintes detalhes:
    • No parâmetro code, especifique 011-002.
    • No parâmetro description, forneça o texto da mensagem de erro.

Exemplo de webhook de URL de redefinição de senha:

Copy
Full screen
Small screen

http

  • http
  • curl
 1POST https://your.hostname/your_reset_uri HTTP/1.1
 2Authorization: Bearer {JWT}
 3Content-Type: application/json
 4
 5{
 6  "username": "john@gmail.com",
 7  "fields": {
 8    "password": "NewPa$$word1"
 9  }
10}
1curl --request POST \
2  --url 'https://your.hostname/your_reset_uri' \
3  --header 'authorization: bearer_JWT' \
4  --header 'content-type: application/json' \
5  --data '{"email":"john@gmail.com","fields":{"password":"NewPa$$word1"}}'

Atualização de token

Observação
A atualização de token fica disponível somente ao usar o protocolo de autenticação OAuth 2.0.
  1. Quando o token de acesso expira, o cliente envia o ponto de extremidade da solicitação Generate JWT POST no servidor Xsolla Login. O corpo da solicitação deve incluir os seguintes parâmetros:
    • grant_type — tipo de concessão JWT, passe o valor refresh_token.
    • client_idID de Cliente OAuth 2.0.
    • refresh_token — atualize o token recebido em resposta à solicitação de autorização do usuário.
  2. O servidor de Xsolla Login processa os dados do usuário recebidos da rede social e envia um webhook para o URL de atualização de token. A resposta deve estar no formato descrito no fluxo de interação. Na resposta, você pode especificar uma lista de atributos de usuário e/ou qualquer objeto JSON necessário. O objeto JSON fornecido em resposta é registrado no campo partner_data do JWT do usuário.
Observação
Para mapear campos JSON às propriedades de perfil do usuário na Xsolla e configurar a vinculação de conta por ID de Usuário no seu servidor, siga a instrução.
Exemplo de webhook:
Copy
Full screen
Small screen
1POST https://your.hostname/your_refrsh_token_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{}

Exemplo de uma resposta a um webhook com atributos de usuário:

Copy
Full screen
Small screen
 1{
 2    "attributes": [
 3      {
 4        "attr_type": "server",
 5        "key": "company",
 6        "permission": "private",
 7        "value": "facebook-promo"
 8      },
 9      {
10        "attr_type": "server",
11        "key": "custom-id",
12        "permission": "private",
13        "value": 48582
14      }
15    ]
16}

Exemplo de uma resposta a um webhook com um objeto JSON:

Copy
Full screen
Small screen
 1{
 2  "user": {
 3    "player_id": "12345678",
 4    "email": "user@example.com"
 5  },
 6  "user_info": {
 7    "username": "gamer123",
 8    "user_first_name": "John",
 9    "user_last_name": "Doe",
10    "gender": "male",
11    "birthday": "1990-05-15",
12    "country": "US",
13    "language": "en"
14  },
15  "subscription_status": "active",
16  "loyalty_level": "gold"
17
18}
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.

Continuar lendo

Última atualização: 14 de Julho de 2025

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!
Não conseguimos enviar seu feedback
Tente novamente mais tarde ou contate-nos via doc_feedback@xsolla.com.