Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

371
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda