Å sende en HTTP-forespørsel med grunnleggende autentisering

Elixir:
Å sende en HTTP-forespørsel med grunnleggende autentisering

Hvordan:

I Elixir kan HTTPoison benyttes for HTTP-forespørsler med grunnleggende autentisering. Her er et eksempel:

# Først, legg til HTTPoison i deps i mix.exs:
defp deps do
  [
    {:httpoison, "~> 1.8"}
  ]
end

# Så, utfør en forespørsel med Basic Auth:
def send_basic_auth_request do
  auth = :base64.encode("bruker:passord")
  headers = [{"Authorization", "Basic #{auth}"}]

  HTTPoison.get("https://eksempel.com/beskyttet", headers)
end

Kjører du denne funksjonen får du et svar som dette:

%HTTPoison.Response{
  status_code: 200,
  body: "...",
  headers: [...]
}

Dypdykk

Grunnleggende autentisering har eksistert siden tidlig i HTTPs historie, spesifisert i RFC 7617. Enkelt, men mindre sikker enn moderne metoder, da det sender bruker-info i klar tekst (base64-kodet, ikke kryptert).

Alternativer inkluderer OAuth og API-nøkler. Ved å bruke en egnet bibliotek som HTTPoison eller Tesla, blir implementering av disse autentiseringsmetodene mer håndterbar i Elixir.

For å forsterke sikkerheten, bør grunnleggende autentisering alltid brukes over HTTPS. Elixir’s støtte for SSL gjør dette enkelt i både HTTPoison og Tesla. Potensielle feil i koden kan føre til lekkasje av sensitiv info; god håndtering av auth headeren er essensielt.

Se Også