2013-07-27 15 views
5

ウェブサイトがAPIを消費する正面に面しており、APIを消費するより強力な役割を持つユーザーのバックエンドもある場合、サイトの両方の部分で同じAPIまたは異なるAPIを使用する必要があります(例:/ api/v1/resourceName vs/api/admin/resourceName)?公開エンドポイントとプライベートエンドポイント用に別々のAPIが必要ですか?

+0

どのようにあなたの経験でしたか、私は今、2つの間で決定するために同じジレンマを持っています、あなたの経験を共有してください。 – user2727195

答えて

5

これは実際の状況によって異なります。プライベートエンドポイントを絶対にプライベートにしなければならない場合、別々のAPIだけが唯一の解決策です。一般的には、それは過度のようです。ほとんどの状況では、最初から単一のAPIを維持し、セキュリティを考慮してプライベートエンドポイントを設計することをお勧めします。

別のAPIのあなたは公共システムにプライベートAPIの2つのコードベース、または少なくともポートの部分を維持する必要が

  • 2つの運用APIシステムを更新する必要があります。
  • セキュリティの向上:ユーザーのキー/パスワードなどが破られた場合や、一般公開APIがセキュリティを処理する方法にエラーがあった場合でも、公開クライアントはAPIのプライベート内部リソースにアクセスすることはできません。

同じAPI

  • つのコードベースと一つのサーバ。
  • セキュリティがより重要になります。パブリッククライアントが内部リソースにアクセスできないようにする必要があります。セキュリティ違反、またはプライベートエンドポイントのセキュリティに関する監視が深刻な問題を引き起こす可能性があります。
+0

@Brian、どのように個人的にアプローチしたのか、あなたの好きなアプローチは何ですか? – user2727195

関連する問題