Envoi d'une requête HTTP avec authentification de base

Elixir:
Envoi d'une requête HTTP avec authentification de base

Comment faire :

# Ajout de la dépendance HTTPotion dans mix.exs
defp deps do
  [
    {:httpotion, "~> 3.1.0"}
  ]
end

# Exemple simple de requête avec authentification de base
def send_request_with_basic_auth do
  # Encode the credentials
  basic_auth = Base.encode64("user:password")

  # Set the headers
  headers = ["Authorization": "Basic #{basic_auth}"]

  # Make the request
  response = HTTPotion.get("https://your-api-endpoint.com/resource", headers: headers)

  # Output the response (sample output placeholder)
  IO.inspect(response.body)
end

Exploration approfondie

L’authentification de base HTTP existe depuis les débuts du web, comme moyen simple mais moins sécurisé d’accéder aux services en ligne, car les identifiants sont encodés mais non chiffrés. En alternative, on utilise souvent l’authentification par jetons (tokens) comme bearer tokens dans les headers de requêtes, ou mieux encore, OAuth2 pour des schémas d’authentification plus complexes et sécurisés. Techniquement, lorsqu’on envoie une requête avec authentification de base en Elixir, le package choisi (ici HTTPotion) s’occupe des basses œuvres : il encode les identifiants et prépare les headers HTTP appropriés.

Voir également