Skicka en HTTP-förfrågan med Basic-autentisering

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.

Se även