Skip to content

Autenticación

AstroAPI admite varios métodos de autenticación según vuestro caso de uso.

Autenticación con Clave de API

Las claves de API son el método recomendado para la comunicación servidor a servidor.

Obtener una Clave de API

  1. Iniciad sesión en el Panel de AstroAPI
  2. Navegad a Configuración > Claves de API
  3. Haced clic en Crear Clave de API
  4. Configurad los permisos y límites de uso
  5. Copiad la clave generada (no se mostrará de nuevo)

Usar Claves de API

Incluid vuestra clave de API en la cabecera X-Api-Key:

bash
curl -X GET "https://api.astroapi.cloud/api/calc/natal" \
  -H "X-Api-Key: ak_live_xxxxxxxxxxxx"

Permisos de Claves de API

Las claves de API pueden limitarse a permisos específicos:

PermisoDescripción
calc:readAcceso a los endpoints de cálculo
content:readAcceso a los endpoints de contenido e interpretaciones
chart:readAcceso a los endpoints de renderizado de cartas
modules:readAcceso a los módulos adquiridos

Roles

AstroAPI utiliza control de acceso basado en roles dentro de las organizaciones:

RolDescripción
ownerAcceso completo a todas las funcionalidades de la organización
managerPuede gestionar usuarios, facturación y contenido
memberAcceso básico a cálculos y lectura de contenido

Permisos por Rol

PermisoownermanagermemberDescripción
org:createCrear organización
org:readLeer organización
org:updateActualizar organización
org:users:readLeer usuarios
org:users:createInvitar usuarios
org:users:updateActualizar usuarios
org:users:deleteEliminar usuarios
billing:readVer facturación
billing:manageGestionar facturación
content:readLeer contenido
content:createCrear contenido
content:updateActualizar contenido
content:deleteEliminar contenido
content:custom-copyCrear copias personalizadas
content:restoreRestaurar contenido
calc:useUsar endpoints de cálculo
chart:useUsar endpoints de cartas
modules:readLeer información de módulos
admin:accessAcceso de administrador

Contexto de Organización

Para aplicaciones multitenant, las claves de API están vinculadas a organizaciones. El contexto de organización se aplica automáticamente según la clave de API utilizada.

Restricciones de Dominio

Las claves de API pueden configurarse con restricciones de dominio para limitar qué sitios web pueden utilizarlas:

  • example.com — Coincidencia exacta de dominio
  • *.example.com — Todos los subdominios
  • * — Permitir todos los dominios (no recomendado)

Configurad las restricciones de dominio en el panel al crear o editar una clave de API.

Limitación Importante

Las restricciones de dominio solo protegen contra el uso indebido desde el navegador. Se basan en las cabeceras Origin y Referer, que los navegadores imponen pero que pueden falsificarse fácilmente fuera del navegador (por ejemplo, con curl, scripts o código del lado del servidor).

Uso en Cliente vs. Servidor

Servidor a Servidor (Recomendado)

Para aplicaciones en producción, utilizad siempre las claves de API en vuestro servidor backend:

┌─────────────┐      ┌─────────────────┐      ┌─────────────┐
│  Navegador  │ ───► │  Vuestro Backend│ ───► │  AstroAPI   │
│ (sin claves)│      │ (clave API aquí)│      │             │
└─────────────┘      └─────────────────┘      └─────────────┘

Este enfoque:

  • Mantiene vuestra clave de API segura y oculta
  • Permite añadir vuestra propia capa de autenticación
  • Evita que los usuarios finales extraigan la clave de API
  • Permite la firma de solicitudes y medidas de seguridad adicionales

Uso en Cliente / Navegador

Si debéis utilizar claves de API directamente en el navegador (por ejemplo, widgets embebidos en sitios estáticos), tened en cuenta estas limitaciones:

  • Las claves de API son visibles en el código fuente JavaScript y en las peticiones de red
  • Cualquiera puede extraer la clave de vuestro sitio web
  • Las restricciones de dominio solo impiden que otros sitios web utilicen vuestra clave mediante JavaScript — no impiden que alguien copie la clave y la use en otro lugar

Para el uso en cliente, recomendamos:

  • Activar las restricciones de dominio
  • Establecer límites de uso estrictos
  • Usar tiempos de expiración cortos
  • Monitorizar el uso para detectar anomalías

Responsabilidad del Cliente

Importante

Sois responsables de la seguridad y el uso de vuestras claves de API.

Todas las solicitudes de API realizadas con vuestra clave de API cuentan contra vuestra cuota y se facturan a vuestra cuenta, independientemente de si las realizasteis vosotros o alguien que obtuvo vuestra clave.

Si exponéis una clave de API en el código del cliente y es usada de forma indebida, sois responsables del uso y los costes resultantes. AstroAPI no puede distinguir entre solicitudes legítimas y solicitudes no autorizadas realizadas con una clave de API válida.

Para minimizar el riesgo:

  1. Utilizad la comunicación servidor a servidor siempre que sea posible
  2. Nunca incluyáis claves de API en sistemas de control de versiones
  3. Rotad las claves inmediatamente si sospecháis que han sido comprometidas
  4. Configurad alertas de uso para detectar picos inesperados

Buenas Prácticas de Seguridad

  • Utilizad la comunicación servidor a servidor para aplicaciones en producción
  • Nunca expongáis claves de API en el código del cliente a menos que sea absolutamente necesario
  • Rotad las claves de API periódicamente
  • Usad los permisos mínimos necesarios
  • Activad las restricciones de dominio para claves del lado del cliente
  • Estableced límites de uso apropiados
  • Supervisad el uso de las claves de API en el panel

AstroAPI Documentation