fs ENOENT node.js при экспорте - PullRequest
0 голосов
/ 06 мая 2019

Я пытаюсь развернуть форму, демонстрирующую уязвимость SQL-инъекции.Недостатки безопасности относительно этого являются преднамеренными.Тем не менее, у меня есть эта ошибка ENOENT на моем сервере node.js.Мне кажется, это правильно, и я возился в течение некоторого времени.Я надеюсь, что есть какая-то помощь, чтобы получить от SO.

Это мой скрипт с именем jwt.js.

'use strict';
const fs = require('fs');
const jwt = require('jsonwebtoken');

var privateKey = fs.readFileSync('./private.key', 'utf8');
var publicKey = fs.readFileSync('./public.key', 'utf8');

const i = 'my name';

const signOptions = {
    issuer: i,
    expiresIn: "12h",
    algorithm: "RS256"
};

const verifyOptions = {
    issuer: i,
    expiresIn: "12h",
    algorithm: ["RS256"]
};

exports.signToken = function(payload){
    return jwt.sign(payload, privateKey, signOptions);
}

exports.verifyToken = function(){
    return jwt.verify(token, publicKey, verifyOptions);
}

При попытке запустить скрипт с ǹode jwt.js и console.log(jwt.sign({"something":"random"}, privateKey, signOptions)); внижняя часть сценария.Это правильно возвращает ключ:

eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzb21ldGhpbmciOiJsb2wiLCJpYXQiOjE1NTcxNzA1NTksImV4cCI6MTU1NzIxMzc1OSwiaXNzIjoiSm9uYXMgR3LDuG5iZWsifQ.cuKRFYsUBopRabiJV10qDXo0KckeQ7lbKLdsKek2otIVtkE988bKqU1x0dr75a9prowgciYCMbsPRQ-69iOzAA

Однако, когда я использую signToken() функция экспортированного из jwt.js в сценарии вта же папка работает.Однако, когда я использую его в сценарии в другой папке, импортируя его.Это вызывает у меня ошибку enoent?

Чтобы уточнить


РАБОТАЕТ

let signToken = require("./jwt").signToken;

console.log(signToken({"": ""}))

DOESN 'T WORK

let signToken = require("../../../jwt/jwt").signToken

console.log(signToken({"": ""}));

Я также пытался заменить fs.readFileSync на обратные вызовы, подобные этому, чтобы сделать его асинхронным, поскольку кто-то указал, что он может испортить файл node.js * 1034.*

let privateKey;
let publicKey;

fs.readFile('./private.key', 'utf8', (err, data) => {
    if(err) throw err;
    privateKey = data;
});
fs.readFile('./private.key', 'utf8', (err, data) => {
    if(err) throw err;
    publicKey = data;
});

Может кто-нибудь указать, в чем я не прав, и объяснение будет ДЕЙСТВИТЕЛЬНО оценено!

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