Elixir Tesla: autenticación del proxy con el adaptador Mint
Pon la cabecera Basic en las opciones de conexión del adaptador Mint para que acompañe a CONNECT antes de la solicitud al destino.
basic = "Basic " <> Base.encode64(proxy_user <> ":" <> proxy_password)
client = Tesla.client([], {Tesla.Adapter.Mint, [
proxy: {:http, "proxy.example", 8080, []},
proxy_headers: [{"proxy-authorization", basic}]
]})Usa este cliente Tesla para las operaciones previstas de la aplicación. Sus URL siguen apuntando a los servicios de destino; proxy_user y proxy_password identifican la cuenta del intermediario.
Mint aplica proxy_headers a CONNECT en un proxy de túnel o combina esas cabeceras con las solicitudes en modo de reenvío. Un middleware genérico de Tesla para cabeceras de destino no equivale a esa entrada de conexión previa.
El ejemplo usa Basic. Base64 es una representación, no un cifrado; la protección depende del transporte de la conexión al proxy.
Mantén estas opciones en el adaptador Mint. Cambiar a Finch, Hackney u otro adaptador exige usar su interfaz, y la cabecera Authorization del destino sigue siendo otro intercambio de autenticación.