Czy można używać modułów Npm po stronie klienta?Meteor Npm-moduł po stronie klienta?
Dokładniej:
chcę użyć node.js
wbudowanym krypto-moduł do szyfrowania hasła użytkownik wprowadzi, a następnie wysłać zaszyfrowanego hasła z podpisem (/ HMAC) do mojego serwera.
Muszę to zrobić w ten sposób, ponieważ muszę być w stanie odzyskać pierwotny serwer po stronie hasła, ponieważ potem mam zamiar wysłać go do serwera LDAP, ponieważ użytkownik powinien uwierzytelnić się przy użyciu tej samej nazwy użytkownika/hasło, które jest zarejestrowane na tym serwerze.
To co zrobiłem:
stworzony w opakowaniach/crypto /: -package.js:
Package.on_use(function(api) { api.add_files('crypto.js',['server','client']);});
-crypto.js: crypto = Npm.require("crypto");
Współpracuje na serwerze, ale na kliencie jest napisane "Błąd odniesienia: Npm nie jest zdefiniowane". Czy możliwe jest użycie modułu kryptograficznego po stronie klienta?
Czy są jakieś alternatywy dla osiągnięcia tego celu?
Dziękujemy!
Edycja: Czy istnieje dobra alternatywa dla uzyskania hasła do serwera w bezpieczny sposób, aby serwer mógł odzyskać oryginalne hasło? myślę robi LDAP() - wniosek na stronie klienta (np: if(checkLdap(usrname,password)){<login>} else{fail})
można łatwo obejść
OK dziękuję za odpowiedź. –
Wiele modułów npm zostało zaprojektowanych do użycia na serwerze lub kliencie, a nie tylko na serwerze. – protometa
@protometa to może być, ale nie sądzę, że Meteor obsługuje to bez dodatkowych elementów takich jak przeglądarka. Oficjalnie npm, od którego zależy meteor, nie obsługuje bezpośrednio modułów po stronie klienta, więc Meteor nie działa z nimi po stronie klienta. Możesz przeglądać je i ręcznie je uwzględnić, tak jak w przypadku każdego innego projektu nodejs. – Akshat