This simple template allows to easily create and manage an API in C#, and to easily connect it with a MySQL Database.
Go to file
2024-10-08 13:32:42 +02:00
Controllers [~] Builder refactor + NGINX config support 2024-10-08 13:31:54 +02:00
Properties [+] First commit. 2024-10-01 18:50:41 +02:00
.gitignore [+] First commit. 2024-10-01 18:50:41 +02:00
appsettings.Development.json [+] First commit. 2024-10-01 18:50:41 +02:00
appsettings.json [~] Cleaned appsettings.json 2024-10-08 13:29:54 +02:00
HubHarmony_api_template.sln [+] First commit. 2024-10-01 18:50:41 +02:00
Program.cs [+] Nginx support and Database connection 2024-10-08 13:32:42 +02:00
README.md SST -> Bearer Auth 2024-10-03 22:49:10 +02:00
Simple API.csproj [+] Imports 2024-10-08 13:30:49 +02:00
Simple API.http [+] Benchmark placeholder tester request 2024-10-08 13:30:35 +02:00

Template d'API .NET avec Authentification JWT 🚀

Présentation

Cette API simple est construite avec ASP.NET Core et permet de gérer diverses routes et protocoles. Elle inclut un système d'authentification basé sur les JSON Web Tokens (JWT) pour sécuriser les requêtes. 🔐

Fonctionnalités

  • API RESTful : Prend en charge les méthodes HTTP standards (GET, POST, PUT, DELETE). 🌐
  • Authentification JWT : Sécurisez vos points de terminaison API avec des jetons JWT. 🛡️
  • Gestion des Routes : Facilité de gestion et de définition des routes pour votre application. 📍
  • Support Multi-Protocole : Gère plusieurs protocoles pour la flexibilité des requêtes. 🔄

Installation

Prérequis

Forker le projet

  1. Forker le dépôt :

    • Allez sur la page du projet sur GitHub et cliquez sur le bouton Fork en haut à droite pour créer votre propre copie du projet.
  2. Cloner votre fork :

    • Ouvrez votre terminal et exécutez la commande suivante :
      git clone https://github.com/votre-utilisateur/votre-repo.git
      cd votre-repo
      
  3. Installer les dépendances :

    dotnet restore
    

Configurer votre base de données MySQL

  1. Créer une base de données MySQL :

    • Utilisez un outil comme MySQL Workbench ou un terminal pour créer une nouvelle base de données.
  2. Modifier la chaîne de connexion :

    • Ouvrez le fichier appsettings.json dans votre projet et modifiez la section ConnectionStrings pour y inclure vos informations de connexion :
      {
        "ConnectionStrings": {
          "DefaultConnection": "Server=localhost;Database=nom_de_votre_base;User=utilisateur;Password=motdepasse;"
        }
      }
      

Utilisation

Lancer l'API

Pour démarrer l'application, exécutez la commande suivante :

dotnet run

L'API sera accessible à l'adresse http://localhost:5000.

Authentification JWT

  1. Inscription d'un utilisateur :

    • Endpoint : POST /api/signup
    • Corps de la requête :
      {
        "username": "votreNom",
        "password": "votreMotDePasse"
      }
      
  2. Connexion d'un utilisateur :

    • Endpoint : POST /api/login
    • Corps de la requête :
      {
        "username": "votreNom",
        "password": "votreMotDePasse"
      }
      
    • Réponse :
      {
        "token": "votreJWT"
      }
      
  3. Accéder aux données sécurisées :

    • Endpoint : GET /api/data
    • En-tête de la requête :
      Authorization: Bearer votreJWT
      

Exemples de Requêtes

Inscription d'un utilisateur

curl -X POST http://localhost:5000/api/signup \
-H "Content-Type: application/json" \
-d '{"username": "testuser", "password": "testpass"}'

Connexion d'un utilisateur

curl -X POST http://localhost:5000/api/login \
-H "Content-Type: application/json" \
-d '{"username": "testuser", "password": "testpass"}'

Accéder aux données sécurisées

curl -X GET http://localhost:5000/api/data \
-H "Authorization: Bearer votreJWT"

Conclusion 🎉

Cette API simple vous permet de gérer efficacement des requêtes tout en garantissant la sécurité grâce à l'authentification JWT. N'hésitez pas à personnaliser et à étendre cette API selon vos besoins !

Aide et Support

Pour toute question ou problème, ouvrez une issue sur le dépôt GitHub. 📬