Skip to content

Utilisateur

Le module utilisateur fournit des fonctionnalités pour obtenir les informations du joueur connecté et le Token. Si le jeu ne nécessite pas de connexion pour accéder à toutes les fonctionnalités, ce module n’est pas nécessaire. Sinon, vous devez utiliser les interfaces de ce module pour implémenter les fonctionnalités correspondantes.

Après avoir consulté la section relative à votre moteur de jeu sur la page Introduction JOGOS_SDK, vous pouvez utiliser les fonctionnalités comme suit :

javascript
window.JOGOS_SDK.user;

Récupérer les informations de l’utilisateur actuel

Vous pouvez utiliser la méthode suivante pour récupérer les informations du joueur actuel :

javascript
try {
  const user = await window.JOGOS_SDK.user.getUser();
  console.log('Get user result', user);
} catch (err) {
  // Gestion des exceptions
  console.error(err);
}

Si le joueur actuel n’est pas inscrit ou connecté, le système ouvrira automatiquement la boîte de dialogue d’inscription/connexion pour demander au joueur de s’inscrire ou de se connecter avant de continuer. Sinon, une erreur 401 Non autorisé, veuillez vous reconnecter sera renvoyée.

Si le compte du joueur est gelé ou supprimé, des informations d'erreur correspondantes seront également renvoyées.

La structure de l’objet joueur retourné avec succès est la suivante :

typescript
// Informations utilisateur
export interface UserInfo {
  // Id de l'utilisateur
  userId: string;
  // Nom d'utilisateur
  username: string;
  // URL de l'avatar
  profilePictureUrl: string;
  // Id du jeu
  gameId: number;
}

Le nom d’utilisateur dans JOGOS_SDK doit comporter entre 6 et 20 caractères et peut inclure des lettres, des chiffres, des points et des underscores.

Attention : Jeu avec plusieurs personnages par compte

Le UserId de JOGOS_SDK correspond exactement à un compte joueur ; si votre jeu permet de créer plusieurs personnages ou de changer de serveur, votre serveur doit gérer cette logique pour éviter la perte de personnages ou des problèmes de changement.

Récupérer le token utilisateur (avec assistance de votre serveur de jeu)

  • Si vous disposez d’un serveur, cette intégration est nécessaire !
  • Le token utilisateur contient les informations du joueur actuellement connecté. Vous devez l’envoyer à votre serveur pour le vérifier/décoder et extraire les informations pertinentes afin de les lier à votre système utilisateur côté serveur. Assurez-vous que les données utilisateur restent sécurisées pendant ce processus.

Votre client peut récupérer le token utilisateur comme suit :

javascript
try {
  const token = await window.JOGOS_SDK.user.getUserToken();
  console.log('Get token result', token);
} catch (err) {
  // Gestion des exceptions
  console.error(err);
}

Le token est valable 1 heure. Il est recommandé de ne pas stocker le token et de toujours appeler cette méthode lorsque le token est nécessaire.

Si le joueur actuel n’est pas inscrit ou connecté, le système ouvrira automatiquement la boîte de dialogue d’inscription/connexion. Sinon, une erreur 401 Non autorisé, veuillez vous reconnecter sera renvoyée.

Si le compte du joueur est gelé ou supprimé, des informations d'erreur correspondantes seront renvoyées.

Le token retourné peut être décodé et testé sur jwt.io.

Exemple des données JSON du token retourné :

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
}
Ne pas décoder le token dans le client
Veuillez ne pas décoder le token utilisateur dans le client. Cela n’est pas sécurisé et doit être fait côté serveur.

Lorsque vous devez utiliser le serveur pour authentifier les requêtes, envoyez le token à votre serveur pour le décoder et le vérifier. Vous pouvez utiliser cette clé publique du token utilisateur https://www.jogos.com/publicKey.json pour vérifier le token. Il est recommandé de récupérer la clé à chaque vérification car elle peut changer.

Étape suivante : Vérification côté serveur

Pour les API côté serveur, consultez la page : API serveur

Test local

Lors des tests locaux, les interfaces du module utilisateur renvoient uniquement des données simulées.