ОШИБКА POST-запроса: «Доступ запрещен: неверный токен, неправильный код» - PullRequest
0 голосов
/ 09 июля 2020

Я пытаюсь отправить запрос POST, используя NODE, но выдает ошибку. Здесь я пытаюсь создать TOTP с заголовками и хешированным токеном SHA512 в NODE. В заголовке мы должны передать мой частный GITHUB GIST URL и мой EMAIL_ID , поэтому я не мог поделиться им здесь. Не могли бы вы помочь! Вот код моего узла:

const axios = require('axios');
const base64 = require('base-64');
const utf8 = require('utf8');

const { totp } = require('otplib');


const reqJSON = 
{
    github_url: GITHUB_URL,
    contact_email: MY_EMAIL
}
const stringData = JSON.stringify(reqJSON);

const URL = 'https://api.challenge.hennge.com/challenges/003';
const sharedSecret = reqJSON.contact_email + "HENNGECHALLENGE003";

totp.options = { digits: 10, algorithm: "sha512",  epoch: 0 }

const myTotp = totp.generate(sharedSecret);
const isValid = totp.check(myTotp, sharedSecret);

console.log("Token Info:", {myTotp, isValid});

const authStringUTF = reqJSON.contact_email + ":" + myTotp;
const bytes = utf8.encode(authStringUTF);
const encoded = base64.encode(bytes);
const createReq = async () =>
{

    try 
    {

        // set the headers
        const config = {
            headers: {
                'Content-Type': 'application/json',
                "Authorization": "Basic " + encoded
            }
        };

        console.log("Making req", {URL, reqJSON, config});

        const res = await axios.post(URL, stringData, config);
        console.log(res.data);
    }
    catch (err)
    {
        console.error(err.response.data);
    }
};
createReq();

По сути, мне нужно отправить код, который находится в моем личном профиле gist github. Но когда я запускаю команду node myfile.js для запуска, я получаю сообщение об ошибке:

Token Info: { myTotp: '1980479983', isValid: true }
Making req {
  URL: 'https://api.challenge.hennge.com/challenges/003',
  reqJSON: {
    github_url: 'https://gist.github.com/sthakur369/233ab97e2d4c4a67630bf6c61f629fe1',
    contact_email: 'sthakur369@gmail.com'
  },
  config: {
    headers: {
      'Content-Type': 'application/json',
      Authorization: 'Basic c3RoYWt1cjM2OUBnbWFpbC5jb206MTk4MDQ3OTk4Mw=='
    }
  }
}
{ message: 'Access denied: Invalid token, wrong code' }

Заранее спасибо !! Все, что мне нужно сделать, это отправить свой код, в котором я полностью застрял.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...