Saltar al contenido principal
Un socio se autentica con client credentials de OAuth 2.0. El proveedor de identidad es Amazon Cognito. MyPilotIndex crea un cliente confidencial para cada socio aprobado, y ese cliente solo puede usar el flujo client credentials: ningún token que reciba puede representar nunca a un piloto.

Obtener un token

Envía un POST al endpoint de token del dominio del proveedor de identidad, https://{cognito-domain}/oauth2/token, con autenticación de cliente HTTP Basic (tu client id como nombre de usuario y tu client secret como contraseña):
Producción usa auth.mypilotindex.com. El sandbox usa el dominio del entorno dev, que te damos junto con tu credencial de sandbox. Envía el token de acceso en el encabezado Authorization: Bearer de cada llamada a la API de Socios. Al crear el cliente, los tokens quedan configurados con una validez de 60 minutos. Lee expires_in en la respuesta del token en lugar de depender de este número, y pide un token nuevo cuando venza.

Scopes

Un token solo lleva los scopes aprobados para tu cuenta de socio. Un scope se escribe partner/<name> en la solicitud del token y en el token. Un grant guarda el nombre sin prefijo, por ejemplo hours.write. El intercambio, la lista de grants, la verificación de certificados y la prueba de webhook no necesitan scope, solo un token válido. El resumen del piloto necesita que el grant y el token tengan al menos uno de profile, score, hours.read y licenses, y muestra solo los bloques que el grant permite. El envío de totales de vuelo necesita hours.write tanto en el token como en el grant. Si falta un scope obligatorio, la respuesta es 403 forbidden con el motivo scope_missing.

Dos cosas que deciden una llamada

  • El token dice quién eres y qué puedes pedirle a un piloto.
  • El grant dice qué piloto te permitió qué. Las rutas que indican un grant responden 404 not_found para un grant revocado, desconocido o de otro socio, siempre de la misma forma.
Un token ausente, vencido o inválido responde 401.