开发者

rails 3 + devise: how do I make the email confirmation links use secure https (not http)

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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜