andreroggeri/pynubank

HTTP error 403

Closed this issue · 11 comments

Acabei de fazer um git clone zerado, para tentar fazer funcionar. Porém não consigo passar do erro 403. Abaixo o código teste que fiz:

from pynubank import Nubank

nu = Nubank()
uuid, qr_code = nu.get_qr_code()

qr_code.print_ascii(invert=True)

input('Após escanear o QRCode pressione enter para continuar')

nu.authenticate_with_qr_code("************", "***********", uuid)
print(nu.get_account_balance())

bills = nu.get_bills()

print(bills)

Abaixo o output do terminal:

Após escanear o QRCode pressione enter para continuar
Traceback (most recent call last):
  File "/home/user/pynubank/test.py", line 11, in <module>
    print(nu.get_account_balance())
  File "/home/user/pynubank/pynubank/nubank.py", line 176, in get_account_balance
    data = self._make_graphql_request('account_balance')
  File "/home/user/pynubank/pynubank/nubank.py", line 46, in _make_graphql_request
    return self._client.post(self._query_url,
  File "/home/user/pynubank/pynubank/utils/http.py", line 46, in post
    return self._handle_response(post(url, json=json, headers=self._headers, **self._cert_args))
  File "/home/user/pynubank/pynubank/utils/http.py", line 35, in _handle_response
    raise NuRequestException(response)
pynubank.exception.NuRequestException: The request made failed with HTTP status code 403

PS: Estou rodando no Ubuntu 21.04, mas tentei também no Windows 10, e obtive o mesmo output no terminal.

O código parece certo. Tem certeza que está passando o CPF e senha certos? A senha tem que ser a mesma que tu usa pra acessar pela web: https://app.nubank.com.br/

O pior que sim. Inicialmente eu tinha passado a senha errada e estava dando o erro 401. Agora com a senha certa da o erro 403.

Espera uns segundos depois de scanear o QR Code. Talvez não tenha dado tempo de autorizar.

Eu acabei fazendo diferente, e utilizei a autenticação por certificado mesmo. De qualquer forma, obrigado pela ajuda!

Tive o mesmo erro aqui.

Parece que a autenticação por QRCode não está mais permitindo acesso as informações da NuConta, somente do cartão de crédito.

Tanto que se vc chamar o método get_bills() ele funciona.

@andreroggeri sabe se com outro tipo de autenticação, funciona?

Com certificado o @GLazzari1428 comentou que funciona

j0mba commented

Poderia explicar o passo-a-passo da geracao do certificado, eu vi a imagem, mas nao sei como realizar as etapas.

gerar par de chaves (ssh key)
solicita geracao do certificado com a chave publica (como faco isso? entro em contato com quem do nubank?)
solicita geracao do certificado com a chave publica e codigo recebido por email (provavelmente deve mandar para o mesmo contato da resposta anterior)
salvar o certificado recebido do contato no diretorio onde foi gerada a chave ssh. (basicamente, a maior dúvida é com quem entro em contato para solicitar este certificado).

Valeu, depois de informado eu gero um PR detalhando isso nesse processo do certificado.

@j0mba pra gerar o certificado basta vc ter instalado o pynubank, e no próprio terminal digitar pynubank que você vai conseguir gerar o certificado:

image

Vc não é a primeira pessoa a ter dúvida com isso, se puder evoluir a documentação sobre isso seria ótimo =]

j0mba commented

@andreroggeri tava indo dar o PR, porém na documentação do Contribuing fala para dar o rebase na develop, porém não tem essa branch no projeto. Você poderia atualizar isto?

Feito