Inviare una richiesta http con autenticazione di base

Elixir:
Inviare una richiesta http con autenticazione di base

Come fare:

Elixir usa la libreria HTTPoison per fare richieste HTTP con autenticazione di base in modo semplice. Installa prima la libreria aggiungendo {:httpoison, "~> 1.8"} al tuo mix.exs e poi esegui mix deps.get. Ecco un esempio di come usarla:

defmodule HTTPExample do
  def send_basic_auth_request do
    url = "https://example.com/protected/resource"
    username = "user"
    password = "pass"
    options = [basic_auth: {username, password}]

    HTTPoison.get(url, [], options)
  end
end

# Uso della funzione
{:ok, response} = HTTPExample.send_basic_auth_request()

IO.inspect response.status_code  # Potrebbe stampare: 200
IO.inspect response.body        # Il corpo della risposta (se l'autenticazione è andata a buon fine)

Approfondimento

L’autenticazione di base HTTP ha origini negli albori del web (RFC 7617) per proteggere risorse web senza dover implementare sistemi complessi. Non è la scelta migliore per la sicurezza moderna dato che le credenziali viaggiano codificate in base64 e non criptate. Alternativamente, si può usare l’autenticazione Digest o OAuth per maggiore sicurezza. Riguardo all’implementazione in Elixir, HTTPoison è un comodo wrapper intorno a hackney, che gestisce la connessione e la codifica delle richieste HTTP.

Vedi anche