什么是Rails秘密令牌以及如何设置它?

时间:2014-08-16 06:37:57

标签: ruby-on-rails

我正在尝试在Phusion Passenger下创建一个Rails应用程序,并遇到missing secret_key_base错误。我已经用Google搜索了这个错误,并没有找到关于秘密令牌/密钥是什么,我如何设置或者它是什么的明确解释 - 只有在这里和那里假设我已经知道别的东西,制作它不可能真正弄清楚发生了什么。我在Rails上买的这两本书中的任何一本都没有讨论这个问题。

什么是秘密令牌?

它的用途是什么?

如何在创建新应用时设置它?

1 个答案:

答案 0 :(得分:4)

秘密令牌是一个包含随机字符的字符串,如下所示

82d58d3dfb18768b495n311eb8539edf5064784h1d58994679db8363ec241c745cef0b419bfe44d66cbf91a2f4e497d8f6b1ef1226e3f405b0d263a9617ac75e

创建新的rails应用程序时,默认情况下会创建此令牌并将其存储在此处<application folder>/config/initializers/secret_token.rb。此令牌用于验证已签名cookie的完整性(您的rails应用程序设置的任何cookie都使用此令牌签名)

就像我指出的那样,它通常是在一个新的rails应用程序中创建的,但是如果你遇到令牌的任何问题,你可以尝试创建一个新的令牌并手动粘贴你的secret_token.rb文件。使用此命令rake secret创建新的秘密令牌。