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