0

現在、次の Web アプリケーション用に node.js と express.js で REST API を構築しています。私はマルチテナントSAASアプリを構築しています.REST API標準(そのようなものがまだ存在する場合)に従って、ユーザーがいう:

/api/ユーザー

これは、データベース (mongodb) 内のすべてのユーザーをプルするのではなく、その特定のユーザーの会社のメンバーだけをプルすることです。

api/users/?companyId=1 に電話をかけることもできますが、もっと良い方法があるはずだと思わずにはいられません。たぶん、すべてのAPI呼び出しで会社IDを何らかのヘッダーとして渡しますか?

このための任意のアイデアをいただければ幸いです。

4

2 に答える 2

0

各会社に固有の識別名または「コード」がある場合、URL のベースとして会社コードを持つマルチテナント API を持つことができます。

https://companycode.myapi.com/v1/users

さまざまな環境に合わせて拡張することもできます。

https://companycode.staging.myapi.com/v1/users

于 2014-09-18T03:08:20.893 に答える
0

ユーザーに認証を強制し、アカウントを会社に関連付けることができます。要求パイプラインのミドルウェアを介して、ユーザーがログインすると、要求オブジェクトにユーザー アカウントへのアクセス権を付与します。これを使用して、クエリ結果をフィルター処理できます。

api.get('/v1/users', function(req, res) { 
  console.log(req.user); 
  //create a service that gets users for user(companyUser) 
  //mongooseModel.find({}).where(req.user._id.toString()
}
于 2016-08-03T12:09:44.530 に答える