Я пытаюсь реализовать сеансы в моем процессе входа в систему, но сеанс не передается с маршрута на маршрут, пока я использую set :session_secret, SecureRandom.hex(64)
, но если я использую set :session_secret, "secret"
, он работает нормально.
Насколько я понимаю, я не должен этого делать, потому что это не очень безопасно.
Есть ли способ использовать set :session_secret, SecureRandom.hex(64
и передавать его с маршрута на маршрут? Или мне нужно использовать set :session_secret, "secret"
?
class MainController < Sinatra::Base
register Sinatra::ActiveRecordExtension
enable :sessions
#set :session_secret, SecureRandom.hex(64)
#set :session_secret, "secret"
#set :session_secret, "secretsession"
set :session_secret, "f650ed69344bab0084199bb8cc9aa5a1bd6756c3b57ad67023255af0fc3795057e"
set :views, Proc.new { File.join(root, "../views/") }
get '/sessions_set' do
session[:foo] = 'hello'
if session[:foo] == 'hello'
binding.pry
redirect '/fetch'
else
"Session value has not been set!"
end
end
get '/fetch' do
binding.pry
"You did it! session[:foo] value: #{session[:foo]}.\nMove on to Part II of this lab at '/second_exercise' "
end
end