Elixir Tesla: Proxy-Authentifizierung mit dem Mint-Adapter
Setzen Sie den Basic-Header in die Verbindungsoptionen des Mint-Adapters, damit er vor der Zielanfrage mit CONNECT gesendet werden kann.
basic = "Basic " <> Base.encode64(proxy_user <> ":" <> proxy_password)
client = Tesla.client([], {Tesla.Adapter.Mint, [
proxy: {:http, "proxy.example", 8080, []},
proxy_headers: [{"proxy-authorization", basic}]
]})Verwenden Sie diesen Tesla-Client für die vorgesehenen Vorgänge der Anwendung. Deren URLs bleiben die Dienstziele; proxy_user und proxy_password bezeichnen das Konto beim Vermittler.
Mint verwendet proxy_headers bei einem Tunnel-Proxy für CONNECT oder fügt die Header im Weiterleitungsmodus den Anfragen hinzu. Eine allgemeine Tesla-Middleware für Ziel-Header ist nicht diese frühere Verbindungseingabe.
Das Beispiel nutzt Basic. Base64 ist eine Darstellung, keine Verschlüsselung; der Schutz hängt vom Transport der Proxy-Verbindung ab.
Belassen Sie diese Optionen beim Mint-Adapter. Finch, Hackney oder ein anderer Adapter erfordert seine eigene Schnittstelle, und Authorization für das Ziel bleibt ein anderer Authentifizierungsaustausch.