Login / Armazenamento personalizado
  Voltar aos Documentos

Login

Armazenamento personalizado

Se você usa armazenamento personalizado, você tem acesso a:

Fluxo de interação

Você pode usar o widget de login ou o seu aplicativo, que usa chamadas de Login API, como um cliente. O fluxo de interação entre o cliente e o servidor Xsolla Login é o seguinte:

  1. O cliente envia solicitações para o servidor Xsolla Login. O formato de solicitações é descrito em pontos de extremidade JWT e Password.
  2. O servidor Xsolla Login envia solicitações para o seu servidor. Siga as instruções para validar as solicitações.
  3. O servidor Xsolla Login processa uma resposta do seu servidor e retorna o resultado para o cliente.
  4. O cliente processa a resposta.

Como resposta a uma solicitação do servidor, você pode obter informações sobre o usuário na forma de uma estrutura:

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.
chave
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.
permissão
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).
valor
stringO valor do atributo do usuário.
Comprimento máximo: 256 símbolos.

Cadastro de usuários

  1. O cliente envia a solicitação Register new user para o servidor Xsolla Login.
  2. O servidor de Xsolla Login envia uma solicitação para o New user URL. A resposta deve estar no formato descrito nesta instrução. Na resposta, você pode especificar uma lista de atributos de usuário.

Exemplo de resposta de URL do novo usuário:

Copy
Full screen
Small screen

http

  • http
  • curl
POST https://your.hostname/your_registration_uri HTTP/1.1
Authorization: Bearer {JWT}
Content-Type: application/json

{
  "email": "john@gmail.com",
  "password": "123456"
}
curl --request POST \
  --url 'https://your.hostname/your_registration_uri' \
  --header 'authorization: bearer_JWT' \
  --header 'content-type: application/json' \
  --data '{"email":"john@gmail.com","password":"123456"}'

Exemplo de resposta:

Copy
Full screen
Small screen
    {
        "attributes": [
          {
            "attr_type": "server",
            "key": "company",
            "permission": "private",
            "value": "facebook-promo"
          },
          {
            "attr_type": "server",
            "key": "custom-id",
            "permission": "private",
            "value": 48582
          }
        ]
    }
    
    1. Os dados do usuário serão registrados no banco de dados Xsolla enquanto o email estiver sinalizado como não confirmado. O usuário receberá um e-mail de confirmação de conta.
    2. Se você integrou o Login Widget, o usuário será redirecionado à página com a seguinte mensagem: Confirme sua conta seguindo as instruções enviadas para {email}.
    3. Se o cadastro do usuário não for bem sucedido, 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 um objeto com uma mensagem de erro:
    Copy
    Full screen
    Small screen
      {
        "error": {
          "code": "011-002",
          "description": "<string>"
        }
      }
      

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

      1. O cliente envia a solicitação Auth by username and password para o servidor Xsolla Login.
      2. O servidor Xsolla Login envia uma solicitação para o URL de verificação do usuário. A resposta deve estar no formato descrito nesta instrução.

      Exemplo de resposta de URL do novo usuário:

      Copy
      Full screen
      Small screen

      http

      • http
      • curl
      POST https://your.hostname/your_authentication_uri HTTP/1.1
      Authorization: Bearer {JWT}
      Content-Type: application/json
      
      {
        "email": "john@gmail.com",
        "password": "123456"
      }
      
      curl --request POST \
        --url 'https://your.hostname/your_authentication_uri' \
        --header 'authorization: bearer_JWT' \
        --header 'content-type: application/json' \
        --data '{"email":"john@gmail.com","password":"123456"}'
      

      Exemplo de resposta:

      Copy
      Full screen
      Small screen
        {
            "attributes": [
              {
                "attr_type": "server",
                "key": "company",
                "permission": "private",
                "value": "facebook-promo"
              },
              {
                "attr_type": "server",
                "key": "custom-id",
                "permission": "private",
                "value": 48582
              }
            ]
        }
        
        1. O servidor Xsolla Login gera um JWT de usuário.
        2. O usuário é redirecionado para o parâmetro login_url com uma solicitação de token. O parâmetro token contém o JWT de usuário.
        Observação
        Um novo usuário será criado se não houver dados de usuário gravados no banco de dados Xsolla.

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

        1. O cliente abre um formulário de autenticação para que o usuário possa inserir seu número de telefone.
        2. O usuário insere seu número de telefone.
        3. O cliente envia a solicitação Start auth by phone number para o servidor Xsolla Login.
        4. O cliente mostra um campo para que o usuário possa preencher o código de verificação.
        5. O usuário insere o código de verificação recebido.
        6. O cliente envia a solicitação Complete auth by phone number para o servidor Xsolla Login.
        7. Se for a primeira autorização do usuário, o servidor Xsolla Login envia uma solicitação para o Passwordless login with phone URL. A resposta deve estar no formato descrito nesta instrução.

        Exemplo de resposta de URL do novo usuário:

        Copy
        Full screen
        Small screen

        http

        • http
        • curl
        POST https://your.hostname/your_phone_authentication_uri HTTP/1.1
        Authorization: Bearer {JWT}
        Content-Type: application/json
        
        {
          "login": "+12025550140",
          "type": "phone"
        }
        
        curl --request POST \
          --url 'https://your.hostname/your_phone_authentication_uri' \
          --header 'authorization: bearer_JWT' \
          --header 'content-type: application/json' \
          --data '{"login":"+12025550140","type":"phone"}'
        

        Exemplo de resposta:

        Copy
        Full screen
        Small screen
          {
              "attributes": [
                {
                  "attr_type": "server",
                  "key": "company",
                  "permission": "private",
                  "value": "facebook-promo"
                },
                {
                  "attr_type": "server",
                  "key": "custom-id",
                  "permission": "private",
                  "value": 48582
                }
              ]
          }
          

          Autenticação via redes sociais

          Para obter dados do usuário ao autenticar via redes sociais, especifique o Social Login URL nas configurações do seu projeto Login na Conta de Distribuidor (seção User database > Storage > Custom storage). Uma solicitação com dados recebidos da rede social é enviada para esse URL.

          Fluxo de autenticação:

          1. O cliente envia a solicitação Auth via social network para o servidor Xsolla Login.
          2. O usuário faz login em uma rede social.
          3. O servidor Xsolla Login processa os dados do usuário recebidos da rede social e envia uma solicitação para o Social Login URL. A resposta deve estar no formato descrito na instrução.

          A solicitação contém dados no token temporário no cabeçalho Authorization: Bearer <JWT>. O usuário JWT passado na solicitação contém os seguintes dados:

          ReivindicarTipoDescrição
          expCarimbo de data/hora UnixA data e a hora do vencimento do JWT. A vida útil do JWT é de 7 minutos. Obrigatório.
          iatCarimbo de data/hora UnixA data e a hora em que o JWT é emitido. Obrigatório.
          issstringO serviço que assinou o JWT: https://login.xsolla.com. Obrigatório.
          request_typestringConstante: gateway_request. Obrigatório.
          xsolla_login_project_idcadeia de caracteres (UUID)Seu ID de projeto de Login na Conta de Distribuidor. Obrigatório.
          emailstringEndereço de e-mail do usuário.
          subcadeia de caracteres (UUID)ID do usuário escrito no lado do servidor Xsolla Login. Obrigatório.
          usernamestringNome de usuário.
          providerstringNome de uma rede social usada para autenticação. Obrigatório.
          idstringID de usuário em uma rede social. Obrigatório.
          Exemplo de uma carga útil de token:
          Copy
          Full screen
          Small screen
          {
            "exp": 1573635020,
            "iat": 1573634600,
            "iss": "https://login.xsolla.com",
            "request_type": "gateway_request",
            "xsolla_login_project_id": "00000000-0000-0000-0000-000000000000",
            "sub": "00000000-0000-0000-0000-000000000000",
            "email": "example@test.com",
            "username": "Smith707",
            "provider": "google",
            "id": "123",
          }
          

          Exemplo de resposta de URL do novo usuário:

          Copy
          Full screen
          Small screen

          http

          • http
          • curl
          POST https://your.hostname/your_social_authentication_uri HTTP/1.1
          Authorization: Bearer {JWT}
          Content-Type: application/json
          
          {}
          
          curl --request POST \
            --url 'https://your.hostname/your_social_authentication_uri' \
            --header 'authorization: bearer_JWT' \
            --header 'content-type: application/json'
          

          Exemplo de resposta:

          Copy
          Full screen
          Small screen
            {
                "attributes": [
                  {
                    "attr_type": "server",
                    "key": "company",
                    "permission": "private",
                    "value": "facebook-promo"
                  },
                  {
                    "attr_type": "server",
                    "key": "custom-id",
                    "permission": "private",
                    "value": 48582
                  }
                ]
            }
            

            Redefinição de senha do usuário

            1. O cliente envia a solicitação Reset password para o Xsolla Login Server.
            2. O servidor Xsolla Login envia ao usuário um e-mail de confirmação de redefinição de senha.
            3. Após confirmar a redefinição de senha no e-mail, o usuário é redirecionado para a página onde pode inserir uma nova senha.
            4. O usuário insere uma nova senha.
            5. O servidor Xsolla Login envia uma solicitação para o Password reset URL. A resposta deve ter o formato descrito nesta instrução.

            Exemplo de resposta de URL do novo usuário:

            Copy
            Full screen
            Small screen

            http

            • http
            • curl
            POST https://your.hostname/your_reset_uri HTTP/1.1
            Authorization: Bearer {JWT}
            Content-Type: application/json
            
            {
              "username": "john@gmail.com",
              "fields": {
                "password": "NewPa$$word1"
              }
            }
            
            curl --request POST \
              --url 'https://your.hostname/your_reset_uri' \
              --header 'authorization: bearer_JWT' \
              --header 'content-type: application/json' \
              --data '{"email":"john@gmail.com","fields":{"password":"NewPa$$word1"}}'
            
            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.
            Avalie esta página
            Avalie esta página
            Podemos melhorar alguma coisa?

            Não quero responder

            Obrigado pelo seu feedback!

            Continuar lendo

            Última atualização: 27 de Fevereiro 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!