6

Authorizationリクエスト内でヘッダーを受信して​​いる他のパブリック サービスによって内部的にクエリされる承認サービスを設計しています。

このサービスは承認 (公開鍵 (user_id) と秘密鍵のペア) を処理し、そのタスクは署名 (HMAC) を再生成することです (秘密鍵を知る唯一のサービスです)。サーバーリソースとして。次に、ユーザーなしで認可リソースは存在しないと考えたので、次のベース URI になりました。

/user/:user_id/authorization

次に、承認を処理し、新しいユーザーが作成されたときに作成し、要求されたときに更新し、ユーザーが削除されたときに読み取りと削除を行う CRUD 操作を設計しました。

注: User エンティティは別のサービスによって処理されます。この URI を使用して論理的な方法で公開鍵を渡すだけです (ユーザーに厳密に関連しているため)。

このサービスを他のサービスから照会して、「このキーは正しいですか?」と言うにはどうすればよいかわかりません。このリクエストとともに、署名を再生成するために必要なすべてのデータを渡します。

だから私が必要としているのは、安らかな方法で承認を確認する方法です

私は次のようなことを考えました:

GET /user/:user_id/authorization?signature=SOMETHING&data=JSON-DATA-TO-REGENERATE-KEY

しかし、おそらく、新しい Authorization リソースを作成していることもわかります (また、何も返されない場合、それはトークン システムではありません)。したがって、PUT または POST がこの目的により適したものになります。

あなたの視点は何ですか?この種の状況を処理するための正しいアプローチは何ですか?

4

3 に答える 3

1

個人的には、セッション/ユーザー/その他の最初の承認 (ログイン) を取得することは、(おそらく) 何か新しいもの、つまり承認トークンを作成するため、POST である必要があると思います。

後続の承認検証リクエストは GET である必要があります。新しいものは何も作成せず、基本的にブール値を (応答コードを介して) 返し、承認ヘッダーが有効かどうかを示します。

于 2012-11-03T10:37:53.520 に答える