Автоматический вход в 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
).