Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

108
Views
Las solicitudes POST de C# HttpClient de la función de Azure con la etiqueta de autorización destinada a la API de terceros se eliminan de los encabezados y el cuerpo.

ACTUALIZAR

Pude publicar una solicitud de trabajo. La API de terceros nos hace enviar el token (que es básicamente un Guid) como un token portador. Azure parece hacer algún tipo de validación previa sobre esto. Cuando cambié el GUID con un verdadero token de portador generado aleatoriamente, funcionó.

Todavía me pregunto si hay una manera de deshabilitar este registro de Azure. El token de portador "malo" funciona para las solicitudes GET pero falla para las solicitudes POST/PUT.

Resumen de la aplicación Tenemos funciones de Azure (es decir, disparador de tiempo, orquestador, actividades) que buscan elementos en una tabla de cola local en SQL y luego la envían a una API de terceros a través de JSON.

La API de terceros requiere un encabezado de autorización con la solicitud POST.

Resumen técnico

  • dotnet core 3.1
  • tiempo de ejecución de la función azul ~ 3

información adicional

  • Este código base funcionó bien durante UAT en abril-mayo de este año. Luego permaneció inactivo hasta que reiniciamos el proyecto hace un par de semanas.
  • Las solicitudes salientes no se envían a través de APIM. Se envían directamente a la API de terceros.
  • Application Insights está configurado para la función de Azure

Qué funciona Todas las solicitudes GET. No hay problemas en absoluto.

Lo que no funciona con las solicitudes POST. Envié las solicitudes a un beeceptor para ver exactamente lo que se estaba recibiendo. Cuando se incluye el encabezado de autorización, la mayoría de los encabezados se eliminan (es decir, tipo de contenido, longitud del contenido) y el cuerpo de la solicitud está en blanco.

Si eliminé el encabezado de Autorización, todos los encabezados y el cuerpo se reciben como se esperaba.

Pregunta Solo puedo suponer en este punto que algún servicio de Azure, verificación previa al vuelo, política de seguridad está interceptando el encabezado de Autorización pensando que está destinado a "sí mismo", pero no tengo ni idea de qué podría ser. He estado en Google ahora durante días.

Versión simplificada del código

 using var client = new HttpClient(); client.DefaultRequestHeaders.Clear(); // Request params are dynamic and a helper method builds the full request path var path = PathBuilder(queueItem.RequestParams, queueItem.Request.UrlPath); // This can change in code not shown if the request is sending files var contentType = "application/json"; client.BaseAddress = new Uri(queueItem.Request.Client.BaseApiUrl); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.CacheControl = new CacheControlHeaderValue { NoCache = true }; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", queueItem.Request.Client.AuthToken); // queueItem.Data is JSON HttpContent json = new StringContent(queueItem.Data, Encoding.UTF8, contentType); return await client.PostAsync(path, json);

También...

  • He confirmado que el cuerpo JSON es válido
  • El código funcionó y se ha mantenido sin cambios.
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Dado todo lo que ha intentado, podría ser una posibilidad remota, pero ¿ha intentado agregar el token como:

 client.DefaultRequestHeaders.TryAddWithoutValidation(“Authorization”, “bearer token here…”);

y luego verifique si el intento tuvo éxito o no?

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!