要求内でAuthorization
ヘッダーを受信している他のパブリックサービスによって内部的に照会される承認サービスを設計しています。REST - 許可の確認に使用する動詞
このサービスは認証(公開鍵(user_id)と秘密鍵のペア)を処理し、そのタスクは秘密鍵を知る唯一のサービスである署名(HMAC)を再生成することです。私はこれをサーバーリソースとして識別します。それから私は、ユーザーのない無許可の資源が存在しないと考えたので、私は、このベースでURI終わった:
/user/:user_id/authorization
私は、新しいユーザーが作成されたときに作成し、承認を処理するためにCRUD操作を設計した、更新要求されるたびに、ユーザーが削除されたときに読み取りと削除を行います。
注:Userエンティティは別のサービスによって処理されます。私はこのURIを使用して公開鍵を論理的に渡します(ユーザと厳密に関連しているため)。
他のサービスからこのサービスにどのように問い合わせて、「ねえ、この鍵は正しいのですか?署名を再生成するために必要なすべてのデータをこのリクエストとともに渡します。
GET /user/:user_id/authorization?signature=SOMETHING&data=JSON-DATA-TO-REGENERATE-KEY
しかし、おそらく、我々はまた、作成されるようにそれを見ることができます:
は、だから私は必要なものを私のような何かを取り払わまし
安らかな方法で権限を確認する方法です新しい認証リソース(何も返されない場合でも、トークンシステムではありません)は、この目的のためにPUTまたはPOSTをより適切に行います。
あなたの見解は何ですか?このような状況に対処する正しいアプローチは何ですか?
なぜあなたは車輪を再発明していますか?現在のスキームはあなたのニーズに合っていませんか?基本、ダイジェストMD5、CERT、SPNEGO? –
私はあなたが私が求めていたことを理解したとは思わない。私はすでにHMACを生成するためにSHA1を使用しています。私は、このシグネチャを認証サービスに送信して(そしてブール応答を得る)安らかな方法について尋ねています。サービスがHMACを計算できるようにデータが送信されます。 –
私はS3メカニズムの後にこのシステムを設計しています。なぜなら、標準のどれも私のニーズに適さないからです。 –