Skip to content
This repository has been archived by the owner on Aug 13, 2023. It is now read-only.

Utaria/api.utaria.fr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo de Utaria

api.utaria.fr

API interne de gestion du réseau Utaria
Propulsée par Express et JWT

Suivez-nous Discord
GitHub last commit License

Cette API a été réalisée en interne afin de satisfaire des besoins intra-serveurs. Elle a été réalisée rapidemment et dans un contexte d'évolution technique du serveur. Elle risque donc d'être peu optimisée, pouvant contenir des failles de sécurité, et non adaptée à une utilisation externe.
Développé par Utarwyn.

En quoi consiste ce programme ?

Ce programme est une API qui met en oeuvre des outils utilisés principalement en interne pour la liaison des serveurs et des services web. Elle permet aussi à notre boutique de vérifier la validité d'un pseudonyme de joueur. Ces principales fonctionnalités sont :

  • Authentification aux actions avec une clé secrète
  • Système de contrôleur / route / modèle pour gérer efficacement les actions
  • Vérification de l'identité d'un joueur par son pseudonyme et son mot de passe
  • Mise à disposition des plugins déployés en interne via Jenkins
  • Récupération dynamique d'un hôte de base de données pour un serveur

⚠️ Attention ! Cette API a été réalisée dans le cadre du projet UTARIA, elle n'est donc pas utilisable telle quelle. Si vous souhaitez l'utiliser, de nombreux changements sont à prévoir. Dans ce cas, il serait plus judicieux de prendre appui dessus pour réaliser votre propre API.

Quelles technologies utilise-t-il ?

L'API utilise principalement les librairies suivantes :

  • Bcrypt 3.+ : fonction de hashage des mots de passe
  • Express 4.+ : cadre web rapide et minimaliste pour Node
  • JWT (jsonwebtoken) 8.+ : une implémentation des JSON Web Tokens
  • Mysql 2.+ : connecteur simple et rapide à nos bases de données

Configuration et lancement de l'API

  1. Vous devez créer un dossier storage, qui doit contenir un fichier de configuration pour l'API nommé config.json. En voici un exemple :

    storage/config.json:
    {
      "version": 2,
      "port": 3000,
      "secretToken": "__MA_CLE_SECRETE__",
      "mysql": {
        "host": "localhost",
        "port": 3306,
        "user": "api",
        "password": "",
        "database": "api"
      },
      "jenkins": {
        "https": true,
        "host": "https://ci.utaria.fr",
        "user": "api",
        "token": "__MON_TOKEN_JENKINS__"
      }
    }
    
  2. Ensuite, installez les dépendances en tapant npm install dans le dossier racine.
  3. Vous pouvez maintenant démarrer l'API avec la commande npm start ou npm run watch (pour lancer l'écouteur de modifications de fichier)

Remerciements

On remercie tous les participants de notre belle aventure et les joueurs, sans qui nous ne serions pas là aujourd'hui. 🔥 😍

Licence

Voir le fichier LICENSE.md


GitHub @Utaria  ·  Twitter @Utaria_FR