Autenticação de usuário no jogo

Como funciona

O Launcher envia os dados dos usuários, autenticados através do aplicativo de desktop, para o jogo no parâmetro –xsolla-login-token no formato JWT. Você pode usar esse parâmetro para configurar a autenticação automática do usuário no jogo.

Principais reivindicações do JWT

Um token conterá as principais declarações após a autenticação ou confirmação do endereço de e-mail. A presença dessas declarações não depende do banco de dados do usuário e da chamada de autenticação.

Reivindicar             &nbsp &nbsp &nbsp                                        TipoObrigatórioDescrição
expUnix TimestampSimData e hora da expiração do token. O tempo de expiração padrão é de 24 horas. Você pode alterar o tempo de validade para cada projeto Login.
issstringSimServiço que assinou o token: https://login.xsolla.com.
iatUnix TimestampSimData e hora de entrega do token.
substring (UUID)SimID do usuário escrito no lado do servidor Xsolla Login.
groupsarraySimA lista de grupos em que o usuário está. Cada grupo é escrito no seguinte formato:
  • id — ID do grupo;
  • name — nome do grupo;
  • is_default — mostra se o grupo é padrão ou não (true ou false).
Pode haver apenas um grupo padrão. Esse grupo inicialmente inclui todos os usuários antes que eles sejam distribuídos em grupos diferentes.
xsolla_login_project_idstring (UUID)SimID de projeto Login.
usernamestringNome de usuário.
publisher_idintegerID de um comerciante que possui um projeto Login.
emailstringEndereço de e-mail do usuário.
payloadstringInformações adicionais que são passadas no parâmetro payload durante a autenticação.
promo_email_agreementbooleanConsentimento para receber uma newsletter. Pode ter um dos seguintes valores:
  • true se o usuário concordar em receber um boletim informativo.
  • false caso contrário.
Tem o valor true por padrão.
Para adicionar o recurso ao formulário de cadastro do widget de Login:
  • Entre em contato com seu Gerente de Sucesso do Cliente ou envie um e-mail para csm@xsolla.com se você usar o Widget 2.0.
  • Adicione o parâmetro fields com o valor promo_email_agreement ao código de inicialização se você usar a versão anterior do widget.
connection_informationstringMostra se o usuário confirmou sua data de nascimento ou não. A confirmação é feita através do serviço okname.

Autenticação social

Declarações que estão contidas no token após a autenticação por meio de uma rede social. A presença dessas declarações não depende do banco de dados do usuário.

Reivindicar                                                  TipoObrigatórioDescrição
providerstringSimNome de uma rede social usada para autenticação. Valores possíveis: amazon, apple, baidu, battlenet, discord, facebook, github, google, kakao, linkedin, mailru, microsoft, msn, naver, ok, paypal, psn, qq, reddit, steam, twitch, twitter, vimeo, vk, wechat, weibo, yahoo, yandex, youtube, xbox.
idstringSimID de usuário em uma rede social.
is_cross_authbooleanMostra que a solicitação de autenticação silenciosa está em andamento.
social_access_tokenstringParâmetro access_token de conta de rede social usado para autenticação. Entre em contato com seu Gerente de Sucesso do Cliente ou envie um e-mail a csm@xsolla.com para configurar o recurso
picturestring (URL)Link para a foto de perfil do usuário em uma rede social.
birthdaydate (RFC3339)Data de nascimento do usuário em uma rede social.
genderstringGênero do usuário em uma rede social.
namestringApelido de usuário em uma rede social.

Fluxo do usuário

  1. Um usuário efetua o login no inicializador.
  2. O inicializador recebe o token de autorização com as informações do usuário do servidor Xsolla Login.
  3. O usuário inicia o jogo a partir do inicializador.
  4. Ao iniciar o jogo, o inicializador passa os seguintes argumentos para o cliente do jogo:
    • --xsolla-login-token <token> — o token de autorização obtido do servidor Xsolla Login.
    • --xsolla-locale <locale> — idioma da interface.

Exemplo:

Copy
Full screen
Small screen
    game.exe --xsolla-login-token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6InAudHVnb2x1a292QHhzb2xsYS5jb20iLCJleHAiOjE1ODU1MDYxMTMsImdyb3VwcyI6W10sImlhdCI6MTU4NDY0MjExMywiaXNzIjoiaHR0cHM6Ly9sb2dpbi54c29sbGEuY29tIiwicGFydG5lcl9kYXRhIjp7ImFkbWluIjp0cnVlfSwicGF5bG9hZCI6IiIsInByb21vX2VtYWlsX2FncmVlbWVudCI6dHJ1ZSwicHJvdmlkZXIiOiJ4c29sbGEiLCJyZWRpcmVjdF91cmwiOiIiLCJzdWIiOiIyNmYxNzI5Ni00Nzk5LTExZTgtOTBkMC00MjAxMGE4YTAwMTkiLCJ0eXBlIjoic29jaWFsIiwidXNlcm5hbWUiOiJzb21lX3VzZXJAbWFpbC5jb20iLCJ4c29sbGFfbG9naW5fYWNjZXNzX2tleSI6Ikk2QTJrTEZPQ2JkcnUzamIxMjNyT3JmWnNkTnFpdVcxMjNpWTdKcW85OHI5b0hPbyIsInhzb2xsYV9sb2dpbl9wcm9qZWN0X2lkIjoiNDBkYjJlYTQtNWQ0Mi0xMWU2LWEzZmYtMDA1NDU2YTBlMTRhIn0.ZsTNiwY2iPp7HKqHs5g6JXzL2kv_RVuMNBlF-Tn2ccE --xsolla-locale en
    
    1. O cliente do jogo envia o token de usuário obtido para o servidor do jogo para recuperar os dados do usuário de uma das seguintes maneiras:

    Como obtê-lo

    1. Implemente a recuperação de dados do usuário:
    2. Configure o processamento de parâmetros para o jogo para autenticar usuários automaticamente.
    3. Implemente a seleção do idioma da interface com base no idioma obtido no argumento --xsolla-locale <locale> no cliente do jogo.
    4. Implemente o rastreamento de novos usuários e a criação de suas contas no servidor do jogo.

    Decodificação JWT no servidor do jogo

    1. Abra seu projeto na Conta de Distribuidor e vá para a seção Login.
    2. Clique em Configure no painel de um projeto Login.
    3. Vá para o bloco Security e selecione a seção JWT signature.
    4. Copie o valor do campo Secret key.
    5. Escolha a biblioteca e conecte-a no lado do servidor do seu aplicativo.
    6. Passe o valor copiado na etapa 4 para a entrada da função de decodificação.
    Aviso
    Não revele sua chave secreta a ninguém. Se ela foi comprometido, atualize-a.

    Recuperação de dados do usuário usando a Login API

    Chame o método Get user details do método da Login API para recuperar dados do usuário.

    Cadastro de usuários

    Para acompanhar o registro de novos usuários:

    1. Abra seu projeto na Conta de Distribuidor e vá para a seção Login.
    2. Clique em Configure no painel de um projeto Login.
    3. No bloco de configurações superior, clique em Callback URLs.
    4. No campo Callback URL, insira o endereço URL para o qual o usuário deve ser redirecionado após o cadastro.
    5. Configure a criação de uma nova conta no jogo. Após o cadastro, o usuário será redirecionado para a URL especificada no campo Callback URL com o parâmetro is_new=1.
    6. Para obter informações para o preenchimento da conta, use o método Login API.

    Exemplo:

    Copy
    Full screen
    Small screen
      https://<callbackUrl>?is_new=1&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWR
      

      Idioma da interface

      ExampleValueMeaning
      –xsolla-locale en“en”
      “ru”
      “cn”
      “tw”
      “fr”
      “de”
      “it”
      “pt”
      “es”
      “pl”
      “cs”
      “ko”
      “ar”
      “bg”
      “he”
      “ja”
      “tr”
      “th”
      “vi”
      “ro”
      “English”
      “Русский”
      “简体中文”
      “中国传统的”
      “Français”
      “Deutsch”
      “Italiano”
      “Português”
      “Español”
      “Polski”
      “Čeština”
      “한국어”
      “العربية”
      “Български”
      “עברית”
      “日本語”
      “Türkçe”
      “ไทย”
      “Tiếng Việt”
      “Română”
      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!
      Última atualização: 22 de Janeiro 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!