How to I tell Devise to use https (not http) for all the account confirmation and password reminder etc links?
[note: I'm not looking for a solution to redirect all http to https, I just need devise to ensure the links it creates use https]
Our rails 3 app uses devise, and the app runs fine under https, however, devise always uses http for the email confirmation and password links it emails to users.
In our environment files I tried changing:
config.action_mailer.default_url_options = { :host => "app1.mydomain.com" }
to
{ :host => "https://app1.mydomain.com" }
but predictably devise creates links that look like http://https//app1.mydomain.com.... (eg, it prepends the :host settings with http:)
default_url_options
accepts the same hash parameters as url_for
. So you should be able to do this:
config.action_mailer.default_url_options = { :protocol => 'https', :host => 'app1.mydomain.com' }
To set the protocol but also a subdirectory :
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
}
Source
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With