Использование Keybase API в PHP-приложении - PullRequest
0 голосов
/ 27 июня 2018

Я создаю новое приложение PHP, в котором я хочу взаимодействовать с Keybase. Первый вариант - использовать API, но, к сожалению, я сталкиваюсь с некоторыми проблемами.

Первый шаг - вызвать вызов. Мне удалось создать запрос curl, но я не уверен, как должен выглядеть pwh. Я попробовал:

$fp = @fopen('/dev/urandom','rb');
if ($fp !== FALSE) {
    $prBits .= @fread($fp,16);
    @fclose($fp);
}

$salt =  bin2hex($prBits);
$pwh = implode(unpack("H*",password_hash('MyP@ssword'.$prBits, PASSWORD_BCRYPT)));

Но выполнение вызова приводит к:

{
    "status": {
        "code": 100,
        "desc": "need a PDPKA5 key",
        "name": "INPUT_ERROR"
    },
    "csrf_token": "lgHZIDA4ZjYyNzgy.....86aMrL09"
}

Полный звонок:

$data = [
    "name" => "My Name",
    "email" => "mymail@example.com",
    "username" => "SomeUnusedUsername1234",
    "pwh" => $pwh,
    "pwh_version" => 3,
    "salt" => $salt,
    "invitation_id" => "000000001"
);
$dataString = json_encode($data);

$ch = curl_init('https://keybase.io/_/api/1.0/signup.json');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $dataString);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_string))
);

$result = curl_exec($ch);

Кто-нибудь получил рабочий пример или решение?

...