Articles in this section

How to create autologin using an API request in Plesk for Linux?

kb: how-to Plesk for Linux ABT: Group A

Applicable to:

  • Plesk for Linux

Question

How to create autologin using an API request in Plesk?

Answer

Note: This article may require additional administrative knowledge to apply. If any help required, contact server’s administrator or hosting support.

1. Log in to Plesk server via SSH or a Linux workstation.

2. Create an XML file with the following content (in this example it will be named request.xml):

CONFIG_TEXT: <?xml version='1.0'?>
<packet version="1.6.3.5">
<server>
<create_session>
<login>TEST_USER</login>
<data>
<!-- Base64-encoded IP address of client, who logs into Plesk -->
<user_ip>MTkyLjE2OC4zNC4xOTI=</user_ip>
<!-- Base64-encoded hostname of computer from which the request is sent -->
<source_server>d3BiLXNpdGUudGxk</source_server>
</data>
</create_session>
</server>
</packet>

Session token will be created for the user identified by login.

3. Send created XML file to Plesk using 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>:8443/enterprise/control/agent.php

NOTE : Only ' admin ' user is able to create session token for clients/resellers logins.

Response will look like the following:

CONFIG_TEXT: <?xml version="1.0" encoding="UTF-8"?>
<packet version="1.6.3.3">
<server>
<create_session>
<result>
<status>ok</status>
<id>ede520d0fc93ae7aa0524076d631fba2</id>
</result>
</create_session>
</server>
</packet>

Value of id tag will contain session token. In this example, ' ede520d0fc93ae7aa0524076d631fba2 '.

Now, the script can redirect user’s browser to rsession_init.php and user will be logged in to Control Panel.

4. Login to Plesk using the session token:

For Linux:

CONFIG_TEXT: https://<server-hostname-or-ip>:8443/enterprise/rsession_init.php?PHPSESSID=ede520d0fc93ae7aa0524076d631fba2&success_redirect_url=<success_redirect_url>

For Windows:

CONFIG_TEXT: https://<server-hostname-or-ip>:8443/enterprise/rsession_init.php?PLESKSESSID=ede520d0fc93ae7aa0524076d631fba2

Here is the list of options:

  • PHPSESSID (Linux only) - session token.
  • PLESKSESSID (Windows only) - session token.
  • success_redirect_url (optional) - URL where browser will be redirected after successful login procedure.
  • failure_redirect_url (optional) - URL where browser will be redirected after failure login attempt. Also this parameter will be used as logout URL.
  • no_frames (optional, deprecated) - show admin panel without frames
  • locale_id (optional) - locale name (e.g. de-DE)

Additional information is available in XML API Guide

Was this article helpful?

Comments

0 comments

Please sign in to leave a comment.