MEANスタックを使用してWebアプリケーションを構築しています。MEANスタック内のREST API、セッションからIDとIDを渡しました
私がGETのために次のエンドポイント
/api/contacts/:id
と例の多くを見るREST APIを構築する際、PUTとDELETEメソッド。
私は何か違ったことをしましたが、私はExpressフレームワークでセッションを有効にしました。アクセスできるようにすると、req.session.req.payload._idの下でユーザー文書ID(mongoDB)が見えます。ドキュメント。
なぜ私は HTTPリクエストをしたときにURLにユーザー文書IDを公開する必要はありません。
私の質問は、どの方法がより使いやすく安全であるかです。
また、セッションを使用しない場合に備えて、AngularのユーザーIDをHTTPリクエストに渡すにはどうすればよいですか。
最後に、私はDBを更新する関数を呼び出す前にJWTをミドルウェアとして使用します。これは私にいくつかの安心感を与えますが、正しいトークンを持つユーザーが異なるIDでHTTPリクエストを行い、他のユーザーのデータを取得、更新、削除することはできません。 これは私が使用している現在の方法では不可能です(セッション)
私はセッションからIDを取得している場合はどうして私は "私"が必要ですか?私は/ api/contactsとして残すことができ、各ユーザーはセッションに応じて要求されたデータを取得できると思います。また、ユーザーが他のユーザーのデータにアクセスする必要もありません。ユーザーが望むIDでユーザーがHTTPリクエストを行うことを許可することは、私には安全ではないようです。 –