• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Вк прямая авторизация

SolomonRei

Green Team
27.08.2018
24
1
BIT
0
Добрый вечер.
Делаю прямую авторизацию в вк, если у пользователя стоит двухфакторная аутентификация, то нужно делать дополнительный запрос на подтверждение. В ответ пользователю приходит 6-ти значный код, который должен ввести в форму.
Дальше что с этим кодом делать и как получить токен, не понятно.

Цитата:
Необходимо запросить у пользователя код подтверждения и повторно отправить запрос на авторизацию с дополнительным параметром code, содержащим код подтверждения

Ну, я собственно это и делаю

PHP:
public function dataWrite() 
 {
//.......
return $this->sendQuery($this->collectQuery(Config::CLIENT_ID, Config::CLIENT_SECRET, $this->data['email'], $this->data['pass'], $this->data['code'], Config::SCOPE));
}
private function collectQuery(string $cliendId, string $clientSecret, string $username, string $password, string $code, string $scope) {
        $this->params = [
            'grant_type' => 'password',
            'client_id' => $cliendId,
            'client_secret' => $clientSecret,
            'username' => $username,
            'password' => $password,
            'code' => $code,
            '2fa_supported' => 1,
            'v' => '5.103'
        ];

        return urldecode(http_build_query($this->params));
    }

    private function sendQuery($query) {
            $curl = curl_init();
            curl_setopt($curl, CURLOPT_URL, "https://oauth.vk.com/token?".$query);
            curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
            $out = curl_exec($curl);
            $q = $out;
            curl_close($curl);
            return $q;
    }
в итоге ошибка

{"error":"invalid_request","error_type":"wrong_otp","error_description":"wrong code"}

Подскажите пожалуйста, что можно сделать, может быть я не так понял документацию, спасибо!

Ссылка на документацию
 

SolomonRei

Green Team
27.08.2018
24
1
BIT
0
Спасибо

Но там не сказано про прямую авторизацию ничего, просто авторизация обычным методом
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!