Изменение Devise Confirmation Link для использования https - PullRequest
2 голосов
/ 08 декабря 2011

В приложении Rails 3.1.1 с Devise 1.51 я хотел бы, чтобы ссылка для подтверждения, использованная в сообщении с подтверждением, была https вместо http.Поэтому в электронном письме «Подтверждение ссылки» указывалось бы на что-то вроде:

https://mysite.com/users/confirmation?confirmation_token=

Я попытался добавить:

config.to_prepare { Devise::SessionsController.force_ssl }
config.to_prepare { Devise::RegistrationsController.force_ssl }
config.to_prepare { Devise::ConfirmationsController.force_ssl }

в config / environment / production.рб

но это не помогло.Кто-нибудь знает правильный способ сделать это?Я знаю, что могу зайти в представление по адресу: devise/mailer/confirmation_instructions.html.erb и подставить туда подтверждение_урл (), но я хотел бы знать, есть ли лучший способ убедиться, что все https (как требуется для моей настройки, даже если я знаю, что естьхит производительности) Большое спасибо.

1 Ответ

10 голосов
/ 18 января 2012

Я использую Rails 3.1.3 и Devise 1.5.2 и имел ту же проблему, но оказывается, виновником является ActionMailer Мне пришлось добавить https в default_url_options ActionMailer

В config/environments.production.rb я изменил:

config.action_mailer.default_url_options = { :host => 'mysite.com' }

Кому:

config.action_mailer.default_url_options = { :host => 'mysite.com', :protocol => 'https' }

Теперь все электронные письма Devise (подтверждение, разблокировка и т. Д.) Используют HTTPS для любых ссылок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...