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

369
Views
Cómo acceder a una API que está autenticada por PingIdentity; a través de Python?

Tengo esta API, algo como esto:

 https://baseurl.com/endpoint

Es una API GET y tiene el mecanismo de autenticación y autorización OIDC + Auth2.0 de PingIdentity (habilitado en el nivel KONG API GATEWAY). La primera vez que accedo a esta API a través de mi navegador, me redirige a una página de inicio de sesión que, al iniciar sesión correctamente, activa esta API y me muestra el JSON de salida en el navegador. Durante la próxima hora, cada vez que vuelvo a presionar esta API, no vuelve a solicitar un inicio de sesión. Después de eso, nuevamente tengo que iniciar sesión una vez.

Ahora, necesito acceder a esta API a través de Python. El problema es que, en respuesta, da una salida HTML, que es básicamente la página de inicio de sesión a la que el navegador me estaba redirigiendo. Esto es lo que he probado:

Escribí esta API usando FastAPI en python, y cuando la solicité en el navegador, grabé sus encabezados en FastAPI a través de request.headers . Esto es lo que contenían los encabezados:

 'host': 'keep-alive': 'connection': 'x-forwarded-for': 'x-forwarded-proto': 'x-forwarded-host': 'x-forwarded-port': 'x-forwarded-path': 'x-forwarded-prefix': 'x-real-ip': 'cache-control': 'sec-ch-ua': 'sec-ch-ua-mobile': 'sec-ch-ua-platform': 'upgrade-insecure-requests': 'user-agent': 'accept': 'sec-fetch-site': 'sec-fetch-mode': 'sec-fetch-user': 'sec-fetch-dest': 'referer': 'accept-encoding': 'accept-language': 'cookie': {contained my organization specific data, which I am sure are not essential} 'username': 'client_id': 'oidc-access-token': {it is a JWT token, which I have confirmed with my teammates, is the access token from PingIdentity}

Sin embargo, cuando configuro estos mismos encabezados cuando uso la biblioteca de solicitudes de Python para acceder a esta misma API, nuevamente me devuelve el HTML de la página de inicio de sesión y no me da el resultado. También intenté copiar encabezados de la pestaña REDES en la herramienta Depurador en el navegador y configurar esos mismos parámetros en mis solicitudes en python, ¡pero nada funciona todavía! Así es como estoy accediendo a la API en python:

 import requests hit_my_api = requests.get("https://baseurl.com/endpoint", headers={<The ones I mentioned above>})

¿Cómo moverse con esto?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Debe agregar el token JWT en los encabezados como se muestra a continuación (ver aquí ):

 hit_my_api = requests.get("https://baseurl.com/endpoint", headers={'Authorization': 'access_token myToken'})

EDITAR: si lo anterior no funciona, intente esto:

 hit_my_api = requests.get("https://baseurl.com/endpoint", headers={ 'Authorization': 'Bearer <your_token>' })
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!