Saltar al contenido

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:

CampoDescripción
pPIN o código requerido por el flujo.
zNueva 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.