Primer acceso y contraseña
El primer acceso y la recuperación de contraseña siguen el mismo flujo: la aplicación inicia el flujo, la API devuelve un enlace seguro (linkURL) y envía un PIN al usuario por correo electrónico o SMS. La aplicación completa el flujo enviando el PIN y la nueva contraseña a ese enlace, en /auth/change.
sequenceDiagram
participant C as Cliente
participant A as Riversoft STCP DirectLink API
participant U as Usuario
C->>A: GET /auth/firstaccess?u=<usuario> o /auth/forget?u=<usuario>
A-->>C: 200 OK con linkURL (/auth/change?k=...)
A-->>U: PIN por correo electrónico o SMS
U->>C: Informa el PIN y la nueva contraseña
C->>A: POST linkURL (k en la URL, p=PIN y z=nueva contraseña en el cuerpo)
A-->>C: 200 OK
Inicie el flujo
Para el primer acceso:
curl -i --get \
--data-urlencode "u=$API_USER" \
"$API_BASE/auth/firstaccess"Para recuperar la contraseña:
curl -i --get \
--data-urlencode "u=$API_USER" \
"$API_BASE/auth/forget"La respuesta trae el enlace seguro en linkURL, y el usuario recibe el PIN por correo electrónico o SMS. Guarde el linkURL para el siguiente paso:
# use /auth/firstaccess en el primer acceso
export CHANGE_URL=$(curl -s --get --data-urlencode "u=$API_USER" "$API_BASE/auth/forget" | jq -r .linkURL)Nota
Si la validación de Cloudflare Turnstile está habilitada en el entorno, envíe también el header CF-Turnstile-Response. Vea Cloudflare Turnstile.
Defina la nueva contraseña
Envíe POST a la URL completa recibida, con los campos en el cuerpo del formulario. La nueva contraseña nunca va en la URL, y los otros métodos se rechazan con 405:
| Campo | Descripción |
|---|---|
p | PIN o código requerido por el flujo. |
z | Nueva contraseña. |
read -r -s -p 'PIN: ' CHANGE_PIN; printf '\n'
read -r -s -p 'Nueva contraseña: ' NEW_PASSWORD; printf '\n'
curl -i -X POST \
--data-urlencode "p=$CHANGE_PIN" \
--data-urlencode "z=$NEW_PASSWORD" \
"$CHANGE_URL"Resultado esperado: respuesta 200 con status 0. El usuario pasa a iniciar sesión con la nueva contraseña.
Atención
El enlace ya contiene los parámetros de identificación y validez, que se validan junto con la nueva contraseña. Use el enlace completo emitido para ese usuario y esa operación; el enlace expira.
Contratos completos en Referencia: Autenticación.