rails 3 + devise: как сделать так, чтобы ссылки для подтверждения по электронной почте использовали безопасный https (не http) - PullRequest
19 голосов
/ 04 мая 2011

Как сказать Devise использовать https (не http) для всех ссылок на подтверждение учетной записи, напоминание пароля и т. Д.?

[примечание: я не ищу решение для перенаправления все http to https, мне просто нужно devise, чтобы убедиться, что создаваемые ссылки используют https]

Наше приложение rails 3 использует devise, и приложение работает нормально под https, однако devise всегда использует http для подтверждения по электронной почтеи пароль связывает его по электронной почте с пользователями.

В наших файлах среды я пытался изменить:

config.action_mailer.default_url_options = { :host => "app1.mydomain.com" }  

на

 { :host => "https://app1.mydomain.com" }

, но, как и ожидалось, devise создает ссылки, которые выглядят как http://https//app1.mydomain.com.... (например, он добавляет: настройки хоста с http:)

Ответы [ 2 ]

40 голосов
/ 04 мая 2011

default_url_options принимает те же параметры хеширования, что и url_for. Таким образом, вы должны быть в состоянии сделать это:

config.action_mailer.default_url_options = { :protocol => 'https', :host => 'app1.mydomain.com' }
2 голосов
/ 21 августа 2013

Чтобы установить протокол, но также и подкаталог:

config.action_mailer.default_url_options = {
        :host => "www.example.com",
        :protocol => 'https',
        :only_path => false,
        :script_name => "/app" #add this attribute if your app is deployed in a subdirectory
    }

Источник

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