.net Httpclient Basic Authentication Example

4 min read Jun 04, 2024
.net Httpclient Basic Authentication Example

Utiliser l'authentification de base avec HttpClient en .NET

L'authentification de base est un mécanisme simple et largement utilisé pour authentifier les utilisateurs sur les serveurs web. Dans cet article, nous allons explorer comment implémenter l'authentification de base avec HttpClient en .NET.

Comprendre l'authentification de base

L'authentification de base fonctionne en envoyant les informations d'identification de l'utilisateur (nom d'utilisateur et mot de passe) encodées en Base64 dans l'en-tête d'autorisation de la requête HTTP. Le serveur vérifie ensuite les informations d'identification et accorde ou refuse l'accès.

Exemple de code

Voici un exemple de code pour réaliser l'authentification de base avec HttpClient en .NET :

using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;

public class BasicAuthenticationExample
{
    public static async Task Main(string[] args)
    {
        // Remplacez par votre nom d'utilisateur et votre mot de passe
        string username = "votre_nom_utilisateur";
        string password = "votre_mot_de_passe";

        // Créez un client HttpClient
        HttpClient client = new HttpClient();

        // Encodez les informations d'identification en Base64
        string authToken = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}"));

        // Ajoutez l'en-tête d'autorisation à la requête
        client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authToken);

        // Exécutez la requête HTTP
        HttpResponseMessage response = await client.GetAsync("https://api.example.com/resource");

        // Traitez la réponse
        if (response.IsSuccessStatusCode)
        {
            // Accès autorisé
            Console.WriteLine("Authentification réussie !");
            string content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
        else
        {
            // Accès refusé
            Console.WriteLine("Authentification échouée.");
        }
    }
}

Explication du code

  1. Création d'un client HttpClient: Nous créons un nouveau client HttpClient pour gérer les requêtes HTTP.
  2. Encodage en Base64: Nous encodons le nom d'utilisateur et le mot de passe en Base64 pour les envoyer dans l'en-tête d'autorisation.
  3. Ajout de l'en-tête d'autorisation: Nous ajoutons l'en-tête d'autorisation avec le schéma "Basic" et le jeton d'authentification encodé en Base64 à la requête.
  4. Exécution de la requête HTTP: Nous envoyons la requête HTTP à l'URL spécifiée.
  5. Traitement de la réponse: Nous vérifions le code de statut de la réponse pour déterminer si l'authentification a réussi ou échoué.

Conclusion

L'authentification de base est une méthode simple et pratique pour sécuriser les requêtes HTTP. En utilisant HttpClient et l'en-tête d'autorisation, vous pouvez facilement implémenter l'authentification de base dans vos applications .NET. N'oubliez pas que l'authentification de base n'est pas recommandée pour les applications sensibles car les informations d'identification sont transmises en clair. Envisagez d'utiliser des mécanismes d'authentification plus robustes comme OAuth 2.0 pour des applications plus sécurisées.

Featured Posts