2016-10-25 8 views
0

2種類のクライアントで消費されるREST APIがあります。 クライアントのタイプに応じて、DELETEメソッドへの呼び出しを許可します。議論の目的のために、クライアントAは削除することが許可されているが、クライアントBは削除されていないとしましょう。REST API - 特定のクライアントのみがDELETEメソッドを呼び出せるように設計する方法

私は、APIがチェックするトークンにトークンを含めることを考えていましたが、このトークン/文字列に何を書き込むべきかわかりません。私は共有パスワードがうまくいくと思います...

また、これを行う別の方法があります。 すべての入力をいただければ幸いです。

+1

通常、クライアントは「Authorization」ヘッダーを使用してサーバーで認証されます。ここでは、 'Basic'が多分使いやすいシンプルなものをいくつか用意しています。ここにヘッダーには、ユーザーまたはクライアントIDのbase64でエンコードされた文字列と、クライアントに割り当てられたパスワードまたはAPIキーがコロンで区切られて格納されます: 'Basic base64enc(" userId:password ")'。ただし、これはHTTPS/SSLと組み合わせて使用​​する必要があります。他の形式の認証も可能です。クライアントが認証されると、サーバーはこの情報を使用して特定のリソースへのアクセスを許可またはブロックします。 –

答えて

0

2つのクライアントの違いは、おそらくそれらが異なるユーザーであるか、またはおそらく2つのクライアントのうちの1つがセキュリティ上の理由でアクセスが制限されている可能性が高いということです。

2つを区別するために、Authorizationヘッダーを使用する必要があります。これは、単純にBasic authとしても、OAuth2と同じくらい複雑にもなります。

関連する問題