Connexion automatique à Plesk
La connexion automatique à Plesk est utile à des fins d’intégration, afin que les clients connectés à d’autres systèmes puissent accéder à Plesk sans devoir se connecter une deuxième fois.
Pour mettre en place une connexion automatique, vous devez disposer d’un script d’intégration qui contient des requêtes XML API pour créer un jeton de session pour une URL à usage unique. Le script connectera les utilisateurs à Plesk à l’aide de l’URL qui contient l’un des éléments suivants :
- (Recommandé) Un jeton de session
- (Non recommandé pour des raisons de sécurité) Identifiant de connexion et mot de passe de l’utilisateur
Connexion automatique à Plesk à l’aide de jetons de session
Pour configurer la connexion automatique à l’aide de jetons de session :
-
Configurez votre script d’intégration pour créer un jeton de session. Pour cela, envoyez une requête API XML à l’aide du node
create_session. Par exemple :<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>
Les paramètres suivants doivent contenir vos valeurs :
-
logincorrespond à l’identifiant d’un utilisateur de Plesk pour qui vous devez créer une session. -
user_ipcorrespond à l’adresse IP en texte brut ou encodé en base64 (par exemple :MTkyLjAuMi4x). - (Facultatif)
source_servercorrespond au nom d’hôte de la machine depuis laquelle la requête est envoyée encodée en base64.
Note: L’opération
create_sessionest disponible pour l’administrateur, les clients et les revendeurs de Plesk. L’administrateur de Plesk peut créer des jetons de session pour lui-même, pour les revendeurs et les clients. Les revendeurs peuvent en créer pour eux-mêmes et pour leurs clients uniquement. Les clients peuvent en créer uniquement pour eux-mêmes.Au lieu d’envoyer directement une requête API XML, vous pouvez l’insérer dans un fichier XML et l’envoyer via curl, par exemple :
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
sachant que
-
adminetpasswordsont les identifiants d’accès de Plesk utilisés pour se connecter au serveur Plesk. -
request.xmlest un fichier XML contenant une requête API XML qui crée un jeton de session (par exemple, la requête affichée ci-dessus). -
server-hostname-or-ipcorrespond au nom d’hôte ou à l’adresse IP du serveur Plesk pour lequel vous voulez créer un jeton de session.
L’API XML de Plesk créera un jeton de session et l’enverra dans une réponse, par exemple :
<?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>
idcontient un jeton de session (df9d386ee5ef13dbcd583c1f616857a2dans l’exemple). Le script utilisera ce jeton dans une URL à usage unique pour se connecter. -
-
Le script redirigera le navigateur de l’utilisateur vers
rsession_init.phpet l’utilisateur sera connecté à Plesk. L’URL à usage unique pour la connexion suit le modèle :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>où :
-
<server-hostname-or-ip>corrrespond au nom d’hôte ou à l’adresse IP du serveur pour lequel/laquelle vous avez créé un jeton de session. -
<session_token>est un jeton de session créé.
Vous pouvez également spécifiez les paramètres facultatifs suivants :
-
<success_redirect_url>correspond à l’URL vers laquelle le navigateur est redirigé après une connexion réussie. -
<failure_redirect_url>correspond à l’URL vers laquelle le navigateur est redirigé après l’expiration d’une session ou lorsqu’un utilisateur a été déconnecté. -
<locale_id>correspond au nom de la langue utilisée lors de la connexion (par exemple fr-FR`).
L’URL de connexion est similaire à :
https://192.0.2.1:8443/enterprise/rsession_init.php?PLESKSESSID=df9d386ee5ef13dbcd583c1f616857a2&success_redirect_url=/admin/customer/listNote: Nous vous recommandons d’utiliser des URL relatives (elles commencent par
/) dans les paramètressuccess_redirect_urletfailure_redirect_url, par exemple :/admin/customer/list. Pour rediriger vers des noms d’hôtes différents de Plesk, vous devez utiliser des URL absolues dans les paramètres (par exemple :example.com) ainsi que dans le paramètretrustedRedirectHostset dans le fichierpanel.ini(voir étape suivante). -
-
Si vous définissez la connexion automatique à Plesk avec le ou les paramètres
success_redirect_urlet/oufailure_redirect_urlqui redirigent vers des noms d’hôtes différents depuis Plesk et ont des URL absolues, protégez votre serveur Plesk contre une redirection ouverte. Pour cela, ajoutez l’entrée suivante dans le fichierpanel.ini:[security] trustedRedirectHosts = hostname1,hostname2
hostname1ethostname2sont des noms d’hôtes fiables vers lesquels vous autorisez la redirection des URL via les paramètressuccess_redirect_urletfailure_redirect_url.En savoir plus sur la protection de Plesk contre la redirection ouverte.
Connexion automatique à Plesk à l’aide des identifiants d’accès
Vous pouvez également configurer la connexion automatique sans créer de jeton de session : en passant l’identifiant de l’utilisateur et le mot de passe dans les paramètres de l’URL. Toutefois, pour des raisons de sécurité, nous ne recommandons pas cette approche.
Si vous voulez néanmoins poursuivre, l’URL de connexion sera similaire à :
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>
sachant que
-
<server-hostname-or-ip>corrrespond au nom d’hôte ou à l’adresse IP du serveur pour lequel/laquelle vous avez créé un jeton de session. -
<login>et<password>sont respectivement l’identifiant de l’utilisateur et son mot de passe.
Vous pouvez également spécifiez les paramètres facultatifs suivants :
-
<success_redirect_url>correspond à l’URL vers laquelle le navigateur est redirigé après une connexion réussie. -
<failure_redirect_url>correspond à l’URL vers laquelle le navigateur est redirigé après l’expiration d’une session ou lorsqu’un utilisateur a été déconnecté. -
<locale_id>correspond au nom de la langue utilisée lors de la connexion (par exemple fr-FR`).