Password grant
POST /oauth/token emite el token por OAuth 2.0 password grant en una sola llamada. Use esta ruta en integraciones técnicas, con un operador propio para la integración.
Importante
/oauth/token acepta solo la autenticación nativa: no aplica el 2FA y no acepta LDAP. Para reproducir el inicio de sesión del Riversoft Console Portal, con 2FA o LDAP, use Inicio de sesión local y 2FA.
Obtener el token
Envíe las credenciales del operador en un formulario application/x-www-form-urlencoded:
read -r -p 'Operador: ' API_USER
read -r -s -p 'Contraseña: ' API_PASSWORD; printf '\n'
curl -s \
--data-urlencode 'grant_type=password' \
--data-urlencode "username=$API_USER" \
--data-urlencode "password=$API_PASSWORD" \
"$API_BASE/oauth/token"Respuesta
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"scope": "{\"stcpcore\":{\"instance\":15,\"user\":15,\"service\":15,\"schedule\":15,...}}",
"operator": "stcpadmin",
"rest_name": "RestAPI",
"token_type": "Bearer"
}| Campo | Descripción |
|---|---|
access_token | Token usado en las llamadas siguientes. |
scope | Permisos del operador sobre cada grupo de recursos (JSON serializado como texto). |
operator | Operador autenticado. |
rest_name | Nombre del registro de la API (rest_name del config.json). |
token_type | Siempre Bearer. |
El token es válido durante 60 minutos de forma predeterminada. Vea cómo usarlo en Sesión y logout.
Errores
| HTTP | Situación |
|---|---|
400 | grant_type diferente de password, username o password ausente, o cuerpo vacío. |
401 | Credenciales no aceptadas u operador bloqueado (Operator is locked, contact your system administrator). |
415 | Content-Type diferente de application/x-www-form-urlencoded. |
500 | Error interno. |
Después del número máximo de fallas definido en las políticas de contraseña, el operador se bloquea.
Contrato completo en Referencia: Autenticación.