dbg*_*pyd 12 ruby ruby-on-rails heroku sinatra
这是有道理的.但是对于这个问题,有哪些首选的工作方法呢?
mat*_*att 24
在我的评论中,我建议使用基于机架cookie的会话,但研究一下,无论如何,Sinatra会话都是 Rack cookie会话.
为了提高安全性,cookie中的会话数据使用会话密钥进行签名.Sinatra为您生成一个随机秘密.但是,由于这个秘密会随着应用程序的每次启动而改变,您可能希望自己设置秘密,因此所有应用程序实例都共享它:
set :session_secret, 'super secret'
因此,似乎每个Heroku dyno生成一个不同的密钥,因此无法读取每个其他会话cookie,并且您需要指定一个密钥,以便每个dyno使用相同的密钥.
您可能更好地设置环境变量,而不是在源代码中添加密钥:
$ heroku config:add SESSION_KEY=a_longish_secret_key
Run Code Online (Sandbox Code Playgroud)
然后在你的sinatra应用程序中:
enable :sessions
set :session_secret, ENV['SESSION_KEY']
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2383 次 |
最近记录: |