2016-12-23 2 views
0

Angenommen, Sie erstellen einen Client, der über einer API liegt, für die ein Zugriffstoken erforderlich ist. Benutzer des Clients können ihr Zugriffstoken anschließen, und das Leben ist großartig.So speichern Sie vertrauliche Informationen für ein Befehlszeilen-Tool?

Angenommen, Sie möchten ein einfaches Befehlszeilentool erstellen, das Befehle ausführt, die diesen Client verwenden. Nehmen wir an, Sie möchten dieses Tool extern über ein Paketverwaltungssystem zugänglich machen (z. B. npm, pypi usw.).

Gibt es eine Möglichkeit, dies zu tun, ohne das Zugriffstoken verfügbar zu machen, das das Befehlszeilentool verwenden würde?

Offensichtlich könnte jeder Benutzer dieses Befehlszeilentools ihr eigenes Zugriffstoken im Gegensatz zur Verwendung des Zugriffstokens der Anwendung eingeben.

Antwort

0

Wenn Sie es vorziehen einzuschränken, wer Ihr Tool herunterladen kann und das Anwendungszugriffstoken in diesem Bereich belassen, können Sie mit Artifactory oder einem ähnlichen Produkt ein privates Repository einrichten. Der Nachteil (abgesehen davon, dass Sie nichts über die nicht autorisierte Umverteilung tun können) ist, dass Ihre Benutzer ihre Authentifizierungsdetails zu ihrer .npmrc oder ähnlichem hinzufügen müssen, um eine Verbindung mit dem privaten Repo herzustellen, also setzen Sie das Problem einfach um ein Entfernen. Und wenn du durch npm gehst, brauchst du scope deine Paketnamen oder lass die Benutzer mehrere Registrierungen jonglieren.

Ihr Tool konnte beim Start auch eine Konfigurationsdatei lesen und das Benutzerzugriffstoken abrufen, z. B. wie Sie Verbindungsinformationen für eine lokale Datenbank lesen würden. Die Konfigurationsdatei wird nicht verteilt oder als Beispiel geliefert, damit der Endbenutzer seine Daten vor der Verwendung bearbeiten kann.

Verwandte Themen