Vk-io: implicitFlowUser não está funcionando

Criado em 9 mar. 2019  ·  6Comentários  ·  Fonte: 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 }

Qual versão de vk-io você está usando?

4.0.0-rc.15

Qual versão do Node.js você está usando?

11.11.0

O que você fez?

Autorização simples

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()
}

Entrei no código, depurei e vi que estava travando na página "permitir acesso ao aplicativo? sim / não"
Voltei para a versão 4.0.0-rc.7 (que usei antes), tudo funcionou. Resumindo: o bug veio com uma atualização.

O que você esperava que fosse acontecer?

Obtendo um token

Qual foi o resultado real?

Erro de autorização

Se você não pode reproduzi-lo, eu vou ajudar)))

Todos 6 comentários

Analisei brevemente as alterações, mas não parecia haver nada particularmente alterado relacionado à autorização. Posso obter a página HTML?

Se você planeja começar a desenvolver o messenger, após 15 de fevereiro de 2019, precisará obter acesso de teste no Suporte, o que implica a operação dos métodos da seção Mensagens com as chaves de administrador do seu aplicativo Standalone.

Para obter acesso total à API de mensagens personalizada, o aplicativo precisará passar pela moderação.

Mais

A solução poderia ser usar, por exemplo, um aplicativo 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;
}

Também um erro de login.
const script = $('script[type="text/javascript"][language="javascript"]').text(); retorna uma string vazia. xs porque, existe uma tag em html adequada para o seletor. Eu fiz um hotfix para mim:
Substituído const script = $('script[type="text/javascript"][language="javascript"]').text(); por const script = $.html();

Desculpe, só vi agora.
@spb-web não é difícil fazer um pull request?
@negezor eu também olhei e não consegui descobrir pelas mudanças o que causou esse problema
Soltar página relevante? Ou você conseguiu sem mim?

@AndreiSoroka , jogue fora se não for difícil)

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

Bobrovskih picture Bobrovskih  ·  3Comentários

Pacmard picture Pacmard  ·  3Comentários

T1MOXA picture T1MOXA  ·  20Comentários

T1MOXA picture T1MOXA  ·  29Comentários

Saiv46 picture Saiv46  ·  9Comentários