Saltar al contenido principal

Login

El endpoint de login intercambia un nombre de usuario y contraseña por un token portador con tiempo limitado utilizado por todos los endpoints clínicos.

Petición

import requests

base_url = "<base_url>" # the base url path provided during registration
url = f"{base_url}/login"

data = {
"username": "<your_email>", # the email you provided during registration
"password": "<your_password>" # the password received in the welcome email
}
headers = {"Content-Type": "application/x-www-form-urlencoded"}

response = requests.post(url, data=data, headers=headers)
result = response.json()

Respuesta

{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Access token",
"expires_in_minutes": "60"
}

Campo por campo

  • access_token el token portador a incluir en cada endpoint protegido como Authorization: Bearer <access_token>.
  • token_type etiqueta descriptiva, actualmente siempre "Access token".
  • expires_in_minutes duración del token. Después de estos minutos, el token se vuelve inválido y debe llamarse a /login de nuevo para obtener uno nuevo.
Expiración del token

Almacenar en caché el token durante la duración de expires_in_minutes y reaplicar /login de forma proactiva antes de que expire. Si un endpoint clínico devuelve un error de autenticación o autorización, tratarlo como expiración del token e intentar de nuevo después de un nuevo login.