SO には、REST とセキュリティに関する優れた質問 (および回答) が多数あります。多くの人が「純粋主義者はこれを好まないだろうが、何とか何とか」と言い、他の人は「何とかやってはいけない」と言います。
しかし、「純粋主義者」が次のシナリオに対して提案している解決策を見たことがありません。私の質問は、次のシナリオに対する「純粋な RESTful ソリューション」とは何ですか?
シンプルなシナリオ...
ユーザーがお気に入りのレシピを管理できるデータベース/ウェブサイトを構築することを想像してみてください。この Web サイトは RESTful API を公開しているため、ユーザーは自分が作成したい (この API を利用する) カスタム プログラムからリストを照会および操作できます。
したがって、ユーザー「A」には、ID「1」、「2」、「3」の 3 つのお気に入りレシピがあります。
ユーザー「B」には、ID「4」と「5」の 2 つのお気に入りレシピがあります。
DELETE
ユーザー A がコマンドを送信すると、応答/Recipes/4
が得られることを確認する必要があります。Forbidden (403)
普段ならどうしよう…
私が通常行うことは、最初に認証メソッドを呼び出して、30 分間有効なある種の認証トークンを送信することです。通常、このトークンは Cookie を介して渡されます。
純粋な解決策は何ですか?
クエリ文字列の変数として渡す純粋な REST ソリューションですか? クッキーは悪魔ですか?トークンを (クエリ文字列パラメーターではなく) URL のセグメントとして使用する必要がありますか? この質問に明確に答える何かが他にありますか?