Автоматический вход в Plesk
Автоматический вход в Plesk может быть полезен для целей интеграции: он позволяет клиентам, которые вошли в какую-либо другую систему, получить доступ к Plesk без повторного входа.
Чтобы реализовать автоматический вход, вам необходим интеграционный скрипт, который содержит запрос XML API для создания токена сеанса для одноразового URL-адреса. Этот скрипт будет использоваться для входа пользователей в Plesk по URL-адресу, содержащему одно из двух:
- (рекомендуется) токен сеанса;
- (не рекомендуется из соображений безопасности) имя пользователя и пароль.
Автоматический вход в Plesk с помощью токенов сеансов
Чтобы настроить автоматический вход с помощью токенов сеансов:
-
Добавьте в интеграционный скрипт создание токена сеанса. Для этого отправьте запрос XML API с помощью узла
create_session, например:<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>
Для следующих параметров должны быть заданы ваши значения:
-
login— имя пользователя Plesk, для которого вам нужно создать сеанс. -
user_ip— IP-адрес пользователя в виде простого текста или в кодировке base64 (например,MTkyLjAuMi4x). - (Необязательно)
source_server— имя хоста компьютера, с которого отправляется запрос в кодировке base64.
Примечание: Операция
create_sessionдоступна администратору, клиентам и реселлерам Plesk. Администратор Plesk может создавать токены сеансов для себя, реселлеров и клиентов; реселлеры — только для себя и своих клиентов; клиенты — только для себя.Вместо отправки запроса XML API напрямую вы можете вставить его в XML-файл и отправить с помощью curl, например:
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
где
-
adminиpassword— учетные данные администратора Plesk, которые используются для входа на сервер Plesk. -
request.xml— XML-файл, содержащий запрос XML API, который создает токен сеанса (например, запрос, показанный выше). -
server-hostname-or-ip— имя хоста или IP-адрес сервера Plesk, для которого вы хотите создать токен сеанса.
Plesk XML API создаст токен сеанса и отправит его в ответ, например:
<?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содержит токен сеанса (в нашем примере —df9d386ee5ef13dbcd583c1f616857a2). Скрипт будет использовать этот токен в одноразовом URL-адресе для входа. -
-
Этот скрипт будет перенаправлять браузер пользователя в
rsession_init.php, и пользователь будет входить в Plesk. Одноразовый URL-адрес для входа соответствует следующему шаблону: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>где:
-
<server-hostname-or-ip>— имя хоста или IP-адрес сервера, для которого вы создали токен сеанса. -
<session_token>— созданный токен сеанса.
Вы также можете указать следующие необязательные параметры:
-
<success_redirect_url>— URL-адрес, по которому браузер будет перенаправлен после успешного входа. -
<failure_redirect_url>— URL-адрес, по которому браузер будет перенаправлен после истечения срока действия сеанса Plesk или после выхода пользователя. -
<locale_id>— имя локали, которая будет использоваться при входе (например,de-DE).
URL-адрес для входа может выглядеть следующим образом:
https://192.0.2.1:8443/enterprise/rsession_init.php?PLESKSESSID=df9d386ee5ef13dbcd583c1f616857a2&success_redirect_url=/admin/customer/listПримечание: Мы рекомендуем вам использовать в параметрах
success_redirect_urlиfailure_redirect_urlотносительные URL-адреса (они начинаются с/), например:/admin/customer/list. Для перенаправления имен хоста, отличных от Plesk, необходимо использовать абсолютные URL-адреса (например,example.com) как в этих параметрах, так и настройкеtrustedRedirectHostsв файлеpanel.ini(смотрите следующий шаг). -
-
Если вы настраиваете автоматический вход в Plesk с параметрами
success_redirect_urlи/илиfailure_redirect_urlс перенаправлением на имена хоста, отличные от Plesk и имеющие абсолютные URL-адреса, защитите свой сервер Plesk от открытого перенаправления. Для этого добавьте в файлpanel.iniследующую запись:[security] trustedRedirectHosts = hostname1,hostname2
Здесь
hostname1иhostname2— доверенные имена хоста, на которые вы разрешаете перенаправление по URL с помощью параметровsuccess_redirect_urlиfailure_redirect_url.
Автоматический вход в Plesk с помощью учетных данных
Вы также можете настроить автоматический вход без создания токена сеанса, передав имя и пароль пользователя как параметры URL-адреса. Из соображений безопасности мы не рекомендуем вам использовать этот способ.
Если вы все-таки хотите его использовать, URL-адрес для входа будет соответствовать следующему шаблону:
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>
где
-
<server-hostname-or-ip>— имя хоста или IP-адрес сервера, для которого вы создали токен сеанса. -
<login>и<password>— имя пользователя и пароль соответственно.
Вы также можете указать следующие необязательные параметры:
-
<success_redirect_url>— URL-адрес, по которому браузер будет перенаправлен после успешного входа. -
<failure_redirect_url>— URL-адрес, по которому браузер будет перенаправлен после истечения срока действия сеанса Plesk или после выхода пользователя. -
<locale_id>— имя локали, которая будет использоваться при входе (например,de-DE).