Ist es möglich, Npm-Module auf der Client-Seite zu verwenden?Meteor Npm-Modul Client-Seite?
Genauer gesagt:
Ich möchte zum Verschlüsseln eines Passworts node.js
Einbau-Kryptomodul verwenden, die der Benutzer eingibt und dann mit einer Signatur (/ hmac) auf meinem Server das verschlüsselte Passwort.
Ich muss es so machen, weil ich in der Lage sein muss, das ursprüngliche Passwort serverseitig abzurufen, denn danach werde ich es an einen LDAP-Server senden, da sich der Benutzer mit demselben Benutzernamen authentifizieren soll/Passwort, mit dem er auf diesem Server registriert ist.
Das ist, was ich tat:
in Paketen erstellt/Krypto /: -package.js:
Package.on_use(function(api) { api.add_files('crypto.js',['server','client']);});
-crypto.js: crypto = Npm.require("crypto");
Es funktioniert gut auf dem Server, aber auf dem Client heißt es "Referenzfehler: Npm ist nicht definiert". Also, ist es möglich, das Crypto-Modul auf der Client-Seite zu verwenden?
Gibt es Alternativen, um dieses Ziel zu erreichen?
Vielen Dank!
Bearbeiten: Gibt es eine gute Alternative, um das Passwort auf dem Server auf sichere Weise zu erhalten, so dass der Server das ursprüngliche Passwort abrufen kann? Anfrage auf der Client-Seite (wie - Ich denke, die ldap() tun: if(checkLdap(usrname,password)){<login>} else{fail})
kann leicht umgangen werden
Okay danke für Ihre Antwort. –
Viele npm-Module sind so konzipiert, dass sie entweder auf dem Server oder Client und nicht nur auf dem Server verwendet werden können. – protometa
@ Protometa kann es sein, aber ich denke nicht Meteor unterstützt dies ohne zusätzliche Drittanbieter-Sachen wie browserify. Offiziell npm, von dem der Meteor abhängig ist, unterstützt nicht direkt clientseitige Module, daher arbeitet Meteor nicht mit ihnen clientseitig zusammen. Sie können sie browserisieren und manuell hinzufügen, wie Sie es für jedes andere nodejs-Projekt tun würden. – Akshat