Vk-io: implicitFlowUser not working

Created on 9 Mar 2019  ·  6Comments  ·  Source: negezor/vk-io

{ AuthError: Could not log in
    at ImplicitFlowUser.run (file:///Users/andreisoroka/git/temp/node_modules/vk-io/lib/index.mjs:1704:17)
    at processTicksAndRejections (internal/process/next_tick.js:81:5)
  code: 'AUTHORIZATION_FAILED',
  name: 'AuthError',
  pageHtml: null }

What version of vk-io are you using?

4.0.0-rc.15

What version of Node.js are you using?

11.11.0

What did you do?

Простая авторизация

import VK from "vk-io";

export default function getToken({login, password}) {
  const vk = new VK({
    appId: process.env.VK_APP_ID,
    login,
    password,
  });
  return vk.auth.implicitFlowUser().run()
}

Залез в код, поставил дебаг, и увидел что падает на странице "разрешить доступ приложению? да/нет"
Откатился на версию 4.0.0-rc.7 (какую раньше использовал), все заработало. Итог: бага пришла с обновлением.

What did you expect to happen?

Получение токена

What was the actual result?

Ошибка авторизации

Если не получится воспроизвести, помогу)))

All 6 comments

Я бегло посмотрел изменения, но там вроде ничего особо не менялось что связано с авторизацией. Можно получить HTML страничку?

Если Вы планируете начать разработку мессенджера, после 15 февраля 2019 года для этого потребуется получить в Поддержке тестовый доступ, подразумевающий работу методов секции Messages с ключами администраторов Вашего Standalone-приложения.

Для получения полного доступа к пользовательскому Messages API приложению будет необходимо пройти модерацию.

Подробнее

Решением может быть использование, например, android приложения

async function loginVK() {

    let login = await rl.questionAsync("Login: ");

    console.log("Password: ");
    rl.hideMode = true;
    let password = await rl.questionAsync("");
    rl.hideMode = false;

    vk.setOptions({ login, password, });

    const direct = vk.auth.androidApp();

    vk.captchaHandler = async ({ src }, retry)=> {
        let key = await rl.questionAsync("Enter captcha ["+src+"]: ");

        try {
            await retry(key);
            console.log('Success');
        } catch (e) { console.error(e); }
    };
    vk.twoFactorHandler = async (none, retry)=> {
        let code = await rl.questionAsync("Enter twoFactor code: ");

        try {
            await retry(code);

            console.log('Success');
        } catch (e) { console.error(e); }
    };

    let res = false;
    try {
        res = await direct.run();
        console.log(res);
    } catch(e) { console.error(e); }

    return res;
}

Тоже ошибка при авторизации.
const script = $('script[type="text/javascript"][language="javascript"]').text(); возвращает пустую строку. хз почему, тег в html подходящий под селектор есть. Для себя сделал хотфикс:
Заменил const script = $('script[type="text/javascript"][language="javascript"]').text(); на const script = $.html();

Извиняюсь, только сейчас увидел.
@spb-web а не сложно сделать пул реквест?
@negezor я тоже смотрел, и не мог понять по изменениям, что вызвало эту проблемму
Скинуть страницу актуально? Или уже без меня справились?

@AndreiSoroka, скинь если не сложно)

Was this page helpful?
0 / 5 - 0 ratings