{ 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 }
vk-io
você está usando?4.0.0-rc.15
11.11.0
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.
Obtendo um token
Erro de autorização
Se você não pode reproduzi-lo, eu vou ajudar)))
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.
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)