Ответ 1
Отвечая на мой собственный вопрос - secret_token используется для предотвращения подделки файлов cookie в Rails. У каждого cookie есть контрольная сумма, сохраненная вместе с ним, поэтому пользователи не будут изменять содержимое cookie (и, например, сменить сохраненный идентификатор пользователя, чтобы украсть чью-то учетную запись). Контрольная сумма основана на содержимом cookie и secret_token, поэтому, если вы используете сеансы на основе файлов cookie, вы всегда должны быть уверены, что ваш secret_token действительно секрет, иначе вы не можете доверять тому, что все, что вы ввели в сеанс, не изменилось.