Ruby on Rails チュートリアルの9章を勉強してます。
永続的セッションを実装するため、クッキーにuser.idとトークンを保存します。
この時、user.id側にだけsignedで署名(と暗号化?)してます。
なぜ、もう一方のトークンにはsigendしないのでしょうか(する必要がないのでしょうか)?
分かる方教えて下さい。
sessions_helper.rb
ruby
1module SessionsHelper 2 ... 3 # ユーザーのセッションを永続的にする 4 def remember(user) 5 user.remember 6 cookies.permanent.signed[:user_id] = user.id 7 cookies.permanent[:remember_token] = user.remember_token 8 end 9 ... 10end
user.rb
ruby
1class User < ApplicationRecord 2 attr_accessor :remember_token 3 ... 4 # 渡されたトークンがダイジェストと一致したらtrueを返す 5 def authenticated?(remember_token) 6 BCrypt::Password.new(remember_digest).is_password?(remember_token) 7 end 8end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/27 01:06