OAuth 2.0
Permite que usuarios autoricen tu aplicación a acceder a sus datos de AstrApp sin compartir contraseñas.
Cuándo usar OAuth
- • Aplicaciones web donde usuarios inician sesión
- • Apps que acceden a datos de terceros
- • Integraciones que usuarios deben autorizar
Flujo de autorización
Paso 1: Redirigir al usuario
url
https://auth.astrapp.lat/oauth/authorize?
client_id=YOUR_CLIENT_ID&
redirect_uri=https://tu-app.com/callback&
scope=projects:read projects:write models:read&
state=random_state_value&
response_type=codePaso 2: Usuario autoriza
AstrApp redirige a tu URL con un código:
url
https://tu-app.com/callback?code=auth_code_xxxxx&state=random_state_valuePaso 3: Intercambiar código por token
bash
curl -X POST https://auth.astrapp.lat/oauth/token \
-H "Content-Type: application/json" \
-d '{
"grant_type": "authorization_code",
"code": "auth_code_xxxxx",
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET",
"redirect_uri": "https://tu-app.com/callback"
}'Respuesta
json
{
"access_token": "access_xxxxxxxxxxxxx",
"token_type": "Bearer",
"expires_in": 3600,
"refresh_token": "refresh_xxxxxxxxxxxxx",
"scope": "projects:read projects:write models:read"
}Refrescar token
Cuando el access token expira, usa el refresh token para obtener uno nuevo.
bash
curl -X POST https://auth.astrapp.lat/oauth/token \
-H "Content-Type: application/json" \
-d '{
"grant_type": "refresh_token",
"refresh_token": "refresh_xxxxxxxxxxxxx",
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET"
}'