15

クライアント側で Npm-Modules を使用することは可能ですか?

すなわち:

node.jsユーザーが入力したパスワードを暗号化するために組み込みの暗号モジュールを使用し、暗号化されたパスワードを署名 (/hmac) と共にサーバーに送信したいと考えています。

元のパスワードをサーバー側で取得できる必要があるため、そのようにする必要があります。その後、ユーザーは同じユーザー名/パスワードで認証する必要があるため、LDAPサーバーに送信するためです。そのサーバーに登録されています。

これは私がしたことです:

packages/crypto/: -package.js に作成:

Package.on_use(function(api) { api.add_files('crypto.js',['server','client']);});

-crypto.js: crypto = Npm.require("crypto");

サーバーでは問題なく動作しますが、クライアントでは「参照エラー: Npm が定義されていません」と表示されます。では、クライアント側で暗号モジュールを使用することは可能ですか?

この目標を達成するための代替手段はありますか?

ありがとうございました!

編集:サーバーが元のパスワードを取得できるように、サーバーへのパスワードを安全な方法で取得するための良い代替手段はありますか? クライアント側でldap()リクエストを実行すると思います(次のように: if(checkLdap(usrname,password)){<login>} else{fail})簡単にバイパスできますか?

4

4 に答える 4

14

クライアント側で必要な js ファイルを、.npmcrypto のパッケージ ディレクトリの下のフォルダーから追加してみてください。したがって、package.jsファイルは次のようになります。

Package.describe({
  summary: 'Description of your crypto package'
});

Npm.depends({
  'crypto': '1.0.0'
});

Package.on_use(function (api) {
  api.add_files('crypto.js', 'server');
  api.add_files('.npm/node_modules/crypto/crypto.js', 'client');
});
于 2013-06-13T07:25:47.790 に答える
1

browserify を使用して、クライアント側で必要なすべての Npm モジュールを含む .js バンドルを構築できます。見る:

2013 Meteor NPM パッケージ

于 2013-09-06T19:59:19.930 に答える