Elixir Tesla: proxyautentisering med Mint-adaptern
Lägg Basic-huvudet i Mint-adapterns anslutningsalternativ så att det kan följa med CONNECT före begäran till destinationen.
basic = "Basic " <> Base.encode64(proxy_user <> ":" <> proxy_password)
client = Tesla.client([], {Tesla.Adapter.Mint, [
proxy: {:http, "proxy.example", 8080, []},
proxy_headers: [{"proxy-authorization", basic}]
]})Använd denna Tesla-klient för appens avsedda åtgärder. Deras URL:er förblir tjänstedestinationerna; proxy_user och proxy_password avser kontot hos mellanhanden.
Mint använder proxy_headers för CONNECT med en tunnelproxy, eller slår samman huvudena med begäranden i vidarebefordringsläge. Generell Tesla-middleware för destinationshuvuden är inte dessa tidigare anslutningsdata.
Exemplet använder Basic. Base64 är en representation, inte kryptering; skyddet beror på proxyanslutningens transport.
Behåll alternativen i Mint-adaptern. Ett byte till Finch, Hackney eller en annan adapter kräver dess gränssnitt, och destinationens Authorization förblir ett annat autentiseringsutbyte.