herokuでsslを有効にしてもhttpsにならないとき

PerfectRailsのサンプルアプリをherokuにあげるとログイン前はhttpsが正しく動作しているが、ログインすると一部が暗号化されていないと出る。

これはomniauthでtwitterの画像のurlがhttpで取得しているからだ。

f:id:akameco:20150221013503p:plain

これをhttpsでurlを取得したい場合、config/initializer/omniauth.rbの設定にsecure_image_urlオプションを有効化してやる。

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :twitter,
           Rails.application.secrets.twitter_api_key,
           Rails.application.secrets.twitter_api_secret,
           {
             :secure_image_url => 'true'
           }
end

参考