Services\Synchronize::authorizeRemote PHP Method

authorizeRemote() public method

Authorize the user on the remote server
public authorizeRemote ( Input $input ) : Guzzle\Service\Client
$input Input
return Guzzle\Service\Client
    public function authorizeRemote($input)
    {
        $client = new GuzzleClient($input['remote_url']);
        $client->setSslVerification(FALSE);
        $cookieJar = new ArrayCookieJar();
        // Create a new cookie plugin
        $cookiePlugin = new CookiePlugin($cookieJar);
        // Add the cookie plugin to the client
        $client->addSubscriber($cookiePlugin);
        $post_data = array('username' => $input['username'], 'password' => $input['password'], 'remember' => 'checked', 'api' => true);
        $response = $client->post('login/backend', array(), $post_data)->send();
        $response_json = $response->json();
        if (isset($response_json['error'])) {
            throw new Exception($response_json['error']);
        }
        return $client;
    }