Ich schreibe gerade eine NodeJS-Befehlszeilen-App. Die App führt einen API-Aufruf aus und gibt einige Daten an den Benutzer zurück. Da es sich um eine öffentliche API handelt, benötigt der Benutzer ein API-Token. Diese CLI wird global auf dem Computer des Benutzers über npm i -g super-cool-api-cli
installiert.Daten sicher in einer Node CLI-App speichern
Wenn der Benutzer das CLI zum ersten Mal ausführt, werden sie zur Eingabe des Tokens aufgefordert, und dann speichere ich sie, damit sie bei jeder weiteren Ausführung nicht mehr eingefügt werden müssen. Ich habe dem Benutzer eine Möglichkeit zur Verfügung gestellt setze es ebenfalls zurück. Ich bin zu speichern es im aktuellen Verzeichnis meines CLI-Modul, das als global installiert angegeben ist, und es sieht etwa so aus:
fs.writeFile(__dirname+'/.token.json', JSON.stringify({ "token": token }, null, 2), 'utf8', (e)=>{
// error handling and whatever
});
ich die Datei benennen .token.json
, mindestens einen Punkt mit, um die Datei machen versteckt standardmäßig.
Ich denke, ich frage, ob es eine bessere/sicherere Möglichkeit gibt, vertrauliche Informationen in einer NodeJS-Befehlszeilen-App zu speichern, die Sie mehr als einmal ausführen würden. Ich dachte über Dinge wie environment variables, aber sie scheinen am Ende des Prozesses ablaufen.
Sicherheitsüberlegungen sind eine Fähigkeit, die ich etwas fehlt, aber sehr gerne mehr darüber erfahren, so vielen Dank im Voraus für Ihre Tipps.
Ich muss eine ähnliche Sache wie Sie mit meiner Knoten CLI App tun. Ich habe bemerkt, dass du keine Antwort akzeptierst. Was hast du am Ende gemacht? Vielen Dank! –
@JoshPinter Am Ende verwendeten wir ein Modul namens [buttercup] (https://buttercup.pw/), um Daten hinter einem Passwort zu speichern. [Es gab wenig Debatte] (https://github.com/himynameisdave/git-labelmaker/issues/14) darüber, weil es einfach schien. Das Projekt ist [hier] (https://github.com/himynameisdave/git-labelmaker) und hat viele aktive Benutzer, so scheint diese Lösung gut für uns gearbeitet zu haben :) –
Interessant ... danke für die Rückmeldung ! Buttercup sieht wie ein schöner 1Password Ersatz aus. Ich habe nicht daran gedacht, den Kern auch zum Speichern von Passwörtern zu verwenden. Prost! –