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 :
login
correspond à l’identifiant d’un utilisateur de Plesk pour qui vous devez créer une session.user_ip
correspond à l’adresse IP en texte brut ou encodé en base64 (par exemple :MTkyLjAuMi4x
).- (Facultatif)
source_server
correspond 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_session
est 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
admin
etpassword
sont les identifiants d’accès de Plesk utilisés pour se connecter au serveur Plesk.request.xml
est 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-ip
correspond 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>
id
contient un jeton de session (df9d386ee5ef13dbcd583c1f616857a2
dans 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.php
et 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/list
Note
Nous vous recommandons d’utiliser des URL relatives (elles commencent par
/
) dans les paramètressuccess_redirect_url
etfailure_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ètretrustedRedirectHosts
et dans le fichierpanel.ini
(voir étape suivante).Si vous définissez la connexion automatique à Plesk avec le ou les paramètres
success_redirect_url
et/oufailure_redirect_url
qui 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
hostname1
ethostname2
sont des noms d’hôtes fiables vers lesquels vous autorisez la redirection des URL via les paramètressuccess_redirect_url
etfailure_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`).