El inicio de sesión automático a Plesk resulta especialmente útil en el caso de finalidades de integración, puesto que así los clientes que ya han accedido a algún otro sistema pueden acceder a Plesk sin necesidad de iniciar sesión por segunda vez.

Para implementar el inicio de sesión automático es necesario disponer de un script de integración que incluya una petición XML API para crear un token de sesión para una URL de un solo uso. El script iniciará la sesión de los usuarios en Plesk usando la URL que contenga uno de lo siguiente:

  • (Recomendado) Un token de sesión
  • (No recomendado por motivos de seguridad) Nombre de usuario y contraseña

Acceso automático a Plesk mediante tokens de sesión

Para configurar el inicio de sesión automático usando tokens de sesión:

  1. Configure su script de integración para crear un token de sesión. Para ello, envíe una petición XML API usando el nodo create_session. Por ejemplo:

    <packet version="1.6.9.1">
      <server>
        <create_session>
          <login>admin</login>
          <data>
            <user_ip>192.0.2.1</user_ip>
            <source_server></source_server>
          </data>
        </create_session>
      </server>
    </packet>
    

    Los parámetros detallados a continuación deben incluir sus valores:

    • login es el nombre de usuario del usuario de Plesk para el que necesita crear la sesión.
    • user_ip es la dirección IP del usuario en texto sin formato o codificado en base64 (por ejemplo, MTkyLjAuMi4x).
    • (Opcional) source_server es el nombre de host del ordenador desde el que envía la petición codificada en base64.

    Nota: La operación create_session está disponible para el administrador de Plesk, así como para clientes y revendedores. El administrador de Plesk puede crear tokens de sesión para él mismo o bien para revendedores y clientes; los revendedores solo para ellos mismos y para sus clientes y los clientes solo para ellos mismos.

    En vez de enviar una petición XML API directamente, puede insertarla en un archivo XML y enviarla mediante curl. Por ejemplo:

    curl –kLi -H "Content-Type: text/xml" -H "HTTP_AUTH_LOGIN: admin" -H "HTTP_AUTH_PASSWD: password" -H "HTTP_PRETTY_PRINT: TRUE" -d @request.xml https:<server-hostname-or-ip>/enterprise/control/agent.php
    

    Aquí:

    • admin y password son las credenciales del administrador de Plesk usadas para acceder al servidor Plesk.
    • request.xml es un archivo XML que contiene una petición XML API que crea un token de sesión. Por ejemplo, la petición que se muestra arriba.
    • server-hostname-or-ip es el nombre de host o la dirección IP del servidor Plesk para el que desea crear un token de sesión.

    La API XML de Plesk creará un token de sesión y lo enviará en la respuesta. Por ejemplo:

    <?xml version="1.0" encoding="UTF-8"?>
    <packet version="1.6.9.1">
      <server>
        <create_session>
          <result>
            <status>ok</status>
            <id>df9d386ee5ef13dbcd583c1f616857a2</id>
          </result>
        </create_session>
      </server>
    </packet>
    

    La etiqueta id incluye un token de sesión (df9d386ee5ef13dbcd583c1f616857a2 en el ejemplo). El script usará este token en una URL de un solo uso para el inicio de sesión.

  2. El script redireccionará el navegador del usuario a rsession_init.php y se iniciará el acceso del usuario a Plesk. La URL de un solo uso para el acceso presenta el siguiente patrón:

    https://<server-hostname-or-ip>:8443/enterprise/rsession_init.php?PLESKSESSID=<session_token>&success_redirect_url=<success_redirect_url>&failure_redirect_url=<failure_redirect_url>
    

    Aquí:

    • <server-hostname-or-ip> es el nombre de host o la dirección IP del servidor para el que ha creado el token de sesión.
    • <session_token> es el token de sesión creado.

    Asimismo, también puede indicar los siguientes parámetros opcionales:

    • <success_redirect_url> es la URL a la que se redireccionará el navegador una vez se haya iniciado sesión de forma correcta.
    • <failure_redirect_url> es la URL a la que se redireccionará el navegador una vez la sesión de Plesk haya expirado o bien el usuario haya cerrado la sesión.
    • <locale_id> es el nombre del idioma que se usará cuando se inicie sesión (por ejemplo es-ES).

    La URL para el inicio de sesión puede presentar la siguiente apariencia:

    https://192.0.2.1:8443/enterprise/rsession_init.php?PLESKSESSID=df9d386ee5ef13dbcd583c1f616857a2&success_redirect_url=/admin/customer/list
    

    Nota: Le recomendamos usar URLs relativas (empiezan por /) en los parámetros success_redirect_url y failure_redirect_url. Por ejemplo: /admin/customer/list. Para redireccionar a otros nombres de host distintos a Plesk, debe usar URLs absolutas en los parámetros, como por ejemplo example.com, así como en la opción trustedRedirectHosts en el archivo panel.ini (vea el próximo paso).

  3. Si configura el acceso automático a Plesk con parámetros success_redirect_url y/o failure_redirect_url que redireccionan a nombres de host distintos de Plesk y que presentan URLs absolutas, proteja su servidor Plesk de redireccionamientos abiertos añadiendo la siguiente entrada al archivo panel.ini:

    [security]
    trustedRedirectHosts = hostname1,hostname2
    

    Donde hostname1 y hostname2 son nombres de host de confianza a los que permite el redireccionamiento de URL mediante los parámetros success_redirect_url y failure_redirect_url.

    Más información sobre cómo proteger su Plesk frente a redireccionamientos abiertos.

Acceso automático a Plesk mediante credenciales

También puede configurar el inicio de sesión automático sin necesidad de crear un token de sesión: pasando un nombre de usuario y contraseña como parámetros en la URL. Por motivos de seguridad, no recomendamos este enfoque.

Si de todos modos opta por este enfoque, la URL para el inicio de sesión tendrá el siguiente patrón:

https://<server-hostname-or-ip>:8443/login_up.php3?login_name=<login>&passwd=<password>&success_redirect_url=<success_redirect_url>&failure_redirect_url=<failure_redirect_url>

Aquí:

  • <server-hostname-or-ip> es el nombre de host o la dirección IP del servidor para el que ha creado el token de sesión.
  • <login> y <password> son el nombre de usuario y la contraseña del usuario respectivamente.

Asimismo, también puede indicar los siguientes parámetros opcionales:

  • <success_redirect_url> es la URL a la que se redireccionará el navegador una vez se haya iniciado sesión de forma correcta.
  • <failure_redirect_url> es la URL a la que se redireccionará el navegador una vez la sesión de Plesk haya expirado o bien el usuario haya cerrado la sesión.
  • <locale_id> es el nombre del idioma que se usará cuando se inicie sesión (por ejemplo es-ES).