2016-12-03 25 views
0

私はすべての目的でREST APIを使用するWebアプリケーションを使用しています。 APIの一部は公開用に利用できるようになります。 APIエンドポイントは、ユーザーの個人識別可能な情報を収集するなど、Webアプリケーションと連携するように特別に構築されていますが、そのエンドポイントを一般公開することはできません。アプリケーションだけが使用する特定のエンドポイントをセキュリティで保護するにはどうすればよいですか?特定のREST APIエンドポイントへのパブリックアクセスを制限する

答えて

0

パブリックアクセスから特定のパスをブロックすることによって、Webサーバーのヘルプを表示できます。こうすることで、ソースコードに手を触れる必要はありません。

は、たとえば、あなたは、nginxのを使用していた場合:ここでは

location /private-api { 
    allow my.trusted.ip.address; 
    deny all; 
} 

apache

1

共通のアプローチを使用してそれを行う方法についての議論がトークンでプライベートエンドポイントを確保することです。呼び出し元は、実行可能なアクセストークンを提供する必要があります。そうしないと、エラーメッセージが表示されます。

Oauth互換プロトコルを使用してトークンを生成することをお勧めします。これにより、既存のフレームワークを使用してアプリケーションを適用できるようになります。

+1

^^正しい@OrikのようなOauthを見てください。 FacebookのグラフAPIと、このRESTfulサービスがトークンを利用してユーザーログインの仕組みとしてどのように機能するかを確認してください。これはFBアカウント/ devsの所有者がGET、PUT、DELETE機能を利用して、.comや他のアプリの外の他のもののステータスを更新することを可能にします。 – Illdapt

関連する問題