авторизация в api с командой openssl в php - PullRequest
1 голос
/ 05 мая 2020

https://imgur.com/8voDV1F - что мне нужно сделать. что я пробовал.

define("HOST", 'http://5.11.4.21:991'); // с https или без

define("CLIENT_PASSWORD", "seffse");
define("CLIENT_LOGIN", "dfdf"); 

$salt = request( 'get', 'init');

print_r($salt);
echo '<br>';
echo $client_salt = md5(CLIENT_LOGIN . $salt);
echo '<br>';
$data['salt'] = $client_salt;
echo $token = request('get', 'login', $data);
echo '<br>';

function request($type = 'get', $method, $data = []){
    // Get cURL resource
    $curl = curl_init();
    // Set some options - we are passing in a useragent too here
    $options = [
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_URL => HOST.'/api/login/',
        CURLOPT_USERAGENT => 'Curl request imitator'
    ];
    switch($method){
        case 'init':
            $options[CURLOPT_URL] = HOST.'/api/login';
            break;
        case 'login':
            echo $options[CURLOPT_URL] = HOST.'/api/login/?password=' . $data['salt'];
            break;
        case 'reboot':
            $cookieString = 'sysauth=' . $data['token'];
            $options[CURLOPT_URL] = HOST.'/api/reboot/?password=' . $data['token'];
            curl_setopt($curl, CURLOPT_COOKIE, $cookieString);
            break;
    }

    curl_setopt_array($curl, $options);
    // Send the request & save response to $resp
    $resp = curl_exec($curl);

    // Close request to clear up some resources
    curl_close($curl);
    return $resp;
}

что я получил: enter image description here

короче, мне нужно преобразовать openssl passwd -salt authString -1 имя пользователя в PHP. дополнительное примечание: enter image description here Как я могу реализовать фрагмент кода в PHP? Ваша помощь приветствуется!

...