basic = "Basic " <> Base.encode64(proxy_user <> ":" <> proxy_password)

client = Tesla.client([], {Tesla.Adapter.Mint, [
  proxy: {:http, "proxy.example", 8080, []},
  proxy_headers: [{"proxy-authorization", basic}]
]})

Utilisez ce client Tesla pour les opérations prévues par l’application. Leurs URL restent celles des services destinataires ; proxy_user et proxy_password désignent le compte auprès de l’intermédiaire.

Mint applique proxy_headers à CONNECT pour un proxy tunnel, ou fusionne ces en-têtes avec les requêtes en mode transfert. Un middleware Tesla générique pour les en-têtes de destination n’est pas cette entrée de connexion intervenant plus tôt.

L’exemple utilise Basic. Base64 est une représentation, pas un chiffrement ; la protection dépend du transport de la connexion au proxy.

Conservez ces options avec l’adaptateur Mint. Passer à Finch, Hackney ou un autre adaptateur exige son interface, et l’en-tête Authorization de destination reste un autre échange d’authentification.

Articles similaires