Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

193
Visualizações
How to provide credentials to Ankr when calling the API with Web3.js HttpProvider?

I am trying to get access to Ankr API address, which is like:

https://apis.ankr.com/XXXX/YYYY/full/main

When accessing this link by the browser I can introduce the credentials I created on Ankr panel control and I can pass successfully. However now I am trying to do this with Web3.js on Node:

var options = {
    headers: [
        {
            name: 'Authorization',
            value: 'Basic myUsername:myPassword',
        },],};

const web3 = new Web3(new Web3.providers.HttpProvider('https://apis.ankr.com/XXXX/YYYY/full/main', options))

And I receive a 401 Unauthorized error response. I assume that my credentials are right because I could access them by the link on the browser, but not when passing in the header they seem not work. What is wrong in the code or what lacking of?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

You need to pass the base64 of the myUsername:myPassword, not the actual plaintext.

// base64 encoded
value: 'Basic ' + Buffer.from('myUsername:myPassword').toString('base64'),

See the MDN docs for more info.

over 4 years ago · Santiago Trujillo Relatório

0

The problem is that the credentials had to be hashed somehow.

I do not know if this is the most suitable solution, but I finally solved this by visiting the address on my browser (https://apis.ankr.com/XXXX/YYYY/full/main), opened dev tools on Chrome, and log in introducing my credentials.

Then I got the hashed credential sent on the request by checking the HEADER of my request (on Chrome, this is done in Network>therequest>Request Headers>authorization). I just copy/pasted this hashed credential on the js code and it worked!

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda