Elixir Tesla: autenticazione del proxy con l’adattatore Mint
Inserite l’header Basic nelle opzioni di connessione dell’adattatore Mint, così può accompagnare CONNECT prima della richiesta alla destinazione.
basic = "Basic " <> Base.encode64(proxy_user <> ":" <> proxy_password)
client = Tesla.client([], {Tesla.Adapter.Mint, [
proxy: {:http, "proxy.example", 8080, []},
proxy_headers: [{"proxy-authorization", basic}]
]})Usate questo client Tesla per le operazioni previste dall’applicazione. I loro URL restano quelli dei servizi di destinazione; proxy_user e proxy_password indicano l’account presso l’intermediario.
Mint applica proxy_headers a CONNECT per un proxy a tunnel, oppure unisce gli header alle richieste in modalità inoltro. Un middleware Tesla generico per gli header di destinazione non equivale a questi dati di connessione usati prima.
L’esempio usa Basic. Base64 è una rappresentazione, non una cifratura; la protezione dipende dal trasporto della connessione al proxy.
Mantenete queste opzioni con l’adattatore Mint. Passare a Finch, Hackney o a un altro adattatore richiede la relativa interfaccia, e l’Authorization della destinazione resta uno scambio di autenticazione diverso.