Skip to content

Usuário

O módulo de usuário fornece funcionalidades para obter informações do jogador logado atual e o Token. Se o jogo pode ser jogado sem login, não é necessário usar este módulo; caso contrário, é necessário chamar as interfaces correspondentes deste módulo para implementar as funcionalidades.

Após ler a página Introdução ao JOGOS_SDK na seção correspondente ao seu motor de jogo, você pode usar as funcionalidades da seguinte forma:

javascript
window.JOGOS_SDK.user;

Obter informações do usuário atual

Você pode recuperar as informações do jogador atual usando os seguintes métodos:

javascript
try {
  const user = await window.JOGOS_SDK.user.getUser();
  console.log('Get user result', user);
} catch (err) {
  // Tratar exceção
  console.error(err);
}

Se o jogador atual não estiver registrado ou logado, o sistema abrirá automaticamente a caixa de diálogo de login/cadastro para que o usuário se registre ou faça login antes de continuar o jogo. Caso contrário, retornará a exceção 401 Não autorizado, faça login novamente.

Se a conta do jogador estiver congelada ou cancelada, também será retornada a informação de exceção correspondente.

A estrutura do objeto do jogador retornado com sucesso é a seguinte:

typescript
// Informações do usuário
export interface UserInfo {
  // Id do usuário
  userId: string;
  // Nome de usuário
  username: string;
  // URL da foto de perfil
  profilePictureUrl: string;
  // Id do jogo
  gameId: number;
}

O nome de usuário do JOGOS_SDK deve ter entre 6 e 20 caracteres e pode incluir letras, números, pontos e underline.

Atenção: aviso para jogos com múltiplos personagens em uma conta

O UserId do JOGOS_SDK corresponde 1:1 à conta do jogador. Se seu jogo permite criar múltiplos personagens ou alternar entre servidores, seu servidor deve lidar com essa lógica para evitar perda ou impossibilidade de alternar personagens.

Obter Token do usuário (integração com seu servidor de jogo)

  • Se você possui servidor, a integração é obrigatória!
  • O token do usuário contém informações do jogador logado. Você deve enviá-lo ao seu servidor e validá-lo/decodificá-lo para extrair informações relevantes e vinculá-las ao sistema de usuários do seu jogo, garantindo a segurança dos dados do usuário.

O cliente pode recuperar o token do usuário usando o seguinte método:

javascript
try {
  const token = await window.JOGOS_SDK.user.getUserToken();
  console.log('Get token result', token);
} catch (err) {
  // Tratar exceção
  console.error(err);
}

O token é válido por 1 hora. Recomendamos não armazenar o Token e sempre chamá-lo quando necessário.

Se o jogador atual não estiver registrado ou logado, o sistema abrirá automaticamente a caixa de diálogo de login/cadastro para que o usuário se registre ou faça login antes de continuar o jogo, caso contrário, retornará a exceção 401 Não autorizado, faça login novamente.

Se a conta do jogador estiver congelada ou cancelada, também será retornada a informação de exceção correspondente.

O token retornado pode ser decodificado e testado em jwt.io.

O token retornado com sucesso contém os seguintes dados JSON:

json
{
  "jti": "1899405772252258304",
  "sub": "{\"profilePictureUrl\":\"a33bf366e34d48e984a094fc923d7b06.png\",\"gameId\":\"1\",\"profileDefaultAvatar\":\"default-avatar.png\",\"userId\":\"88E1B72FED537C6943C85C28F639BE0B\",\"username\":\"55895999999999999999\"}",
  "iss": "com:jogos:sdk",
  "iat": 1741688600,
  "exp": 1745288600
}
Não decodifique o token no cliente
Não decodifique o token do usuário no cliente. Isso é inseguro e deve ser feito pelo servidor.

Quando precisar autenticar solicitações no servidor, envie o token ao seu servidor e decodifique/valide-o. Você pode usar esta chave pública do token do usuário https://www.jogos.com/publicKey.json para validar o token. Recomendamos buscar a chave a cada validação, pois ela pode mudar.

Próximo passo: validação via servidor

Para APIs relacionadas ao servidor, consulte a página: Interface de Integração com o Servidor.

Teste Local

Durante o teste local, as interfaces relacionadas ao módulo de usuário retornam apenas dados simulados.