Elm:
Skicka en HTTP-förfrågan med Basic-autentisering
Hur man gör:
import Http
import Base64
type alias BasicAuth =
{ username : String
, password : String
}
addBasicAuthHeader : BasicAuth -> List Http.Header
addBasicAuthHeader creds =
let
encoded =
Base64.encode (creds.username ++ ":" ++ creds.password)
in
[ Http.header "Authorization" ("Basic " ++ encoded) ]
exampleRequest : BasicAuth -> Http.Request String
exampleRequest creds =
Http.request
{ method = "GET"
, headers = addBasicAuthHeader creds
, url = "https://example.com/protected"
, body = Http.emptyBody
, expect = Http.expectString
, timeout = Nothing
, tracker = Nothing
}
-- För att använda, skicka en giltig BasicAuth och hantera svaret
Fördjupning
I HTTP 1.0 introducerades Basic-autentisering som en enkel metod för att skydda webbresurser. Eftersom känslig information skickas öppet, förutsätter den att överföringen sker över en säker anslutning som HTTPS. Alternativ till Basic-autentisering inkluderar OAuth, API-nycklar och form-baserad autentisering. I Elm används modulen Http
för att skapa begäran och Base64
för att hantera kodningen. Viktigt är att aldrig skicka känslig information utan kryptering.