Omniauth を使用して、最初から認証を行おうとしています。
Ryan Bate のスクリーンキャストをフォローしました。しかし、実装を展開する前に、いくつか理解しておきたいことがあります。
彼のスクリーンキャストでは、次のようhelper_method
になっていapplication_controller
ます。
helper_method :current_user
private
def current_user
@current_user ||= User.find(session[:user_id]) if session[:user_id]
end
上記のコードは、 をチェックしuser_id
ます。
セッションが暗号化されている(そして Cookie に保存されている)ことは知っています。ただし、それらは読み取り可能ですが、変更することはできません。誰かが偽のセッションをハイジャックするのはどれほど難しいでしょうuser_id
か? 誰もがゼロから、または「Cookie インジェクター」メソッド (そのようなものが存在する場合) を介して Cookie を作成するのを妨げているのは何ですか。
これらの Cookie がどのように保護されているかを理解しようとしています。