Wysyłanie zapytania http z podstawową autoryzacją

Elm:
Wysyłanie zapytania http z podstawową autoryzacją

How to (Jak to zrobić):

W Elm, by wysłać żądanie HTTP z podstawowym uwierzytelnianiem, używamy modułu Http i dodajemy nagłówek Authorization z zakodowanymi danymi logowania. Oto przykład:

import Http
import Base64

type Msg
    = GotResponse (Result Http.Error String)

basicAuth : String -> String -> Http.Header
basicAuth username password =
    let
        encodedCredentials =
            Base64.encode (username ++ ":" ++ password)
    in
    Http.header "Authorization" ("Basic " ++ encodedCredentials)

sendRequest : Cmd Msg
sendRequest =
    Http.get
        { url = "https://example.com/protected"
        , expect = Http.expectString GotResponse
        , headers = [ basicAuth "username" "password" ]
        }

Sample output could be the content of the protected resource or an error message depending on the response.

Deep Dive (Dogłębna analiza):

Podstawowe uwierzytelnianie HTTP to stara, ale prosta metoda zabezpieczania żądań HTTP. Zyskało popularność, bo łatwo się je implementuje. Należy jednak pamiętać, że metoda ta nie jest najbezpieczniejsza — dane są przesyłane w postaci zakodowanej, ale niezaszyfrowanej. Alternatywy jak OAuth lub tokeny API są często wybierane dla większego bezpieczeństwa.

W Elm, implementacja podstawowego uwierzytelniania opiera się o moduł Http i dodatkowe moduły jak Base64 do kodowania danych. Kodujemy parę username:password i dodajemy jako nagłówek Authorization. Elm dba o to, by interakcje były typu bezpieczne i łatwe do obsługi w języku Elm – stąd użycie Result w danych wejściowych odpowiedzi, by łatwiej obsłużyć błędy.

See Also (Zobacz także):