2017-10-17 3 views
1

問題は次のとおりです。ユーザーがログインページから「パスワードを忘れた」をクリックすると、パスワードをリセットするリンクが付いたメールが送信されますが、電子メール内のリンクをクリックすると、ブラウザがそのリンクを訪問することはできなくなります。ブラウザは「プライバシーエラー」を表示します。パスワードリセットリンクでChromeの「プライバシーエラー」が発生する

は、例えば、クロムは、これは認証のために考案宝石を使用して、レール5アプリであり、Herokuのに配備Your connection is not private. Attackers might be trying to steal your information from [app_name].heroku.com (for example, passwords, messages, or credit cards). NET::ERR_CERT_COMMON_NAME_INVALID

を表示します。これらのトランザクション電子メールにはSendGridを使用してください。 In config/environments/production.rb、config.force_ssl = true

これは、アプリケーションの他のページには表示されません。

ブラウザからのこの警告の原因は何ですか。どのように解決できますか?

+0

は、プロトコルのための電子メールの使用 'http'または' https'でパスワードリセットのリンクをしていますか? –

+0

電子メールのリセットパスワードリンクは 'https'を使用します。 'https:// [app-name] .heroku.com/usersにリダイレクトする' https://xxxxxxx.ct.sendgrid.net/wf/click?upn= [very-long-token] 'の形式に従います/ password/edit?reset_password_token = [token] ' – koanima

+1

Sendgridは' https:// [app-name] .herokuapp.com'にリダイレクトする必要があります –

答えて

1

メールがhttpsをサイトのURLとして使用するように設定されていることを確認してください。あなたのconfig/environments/production.rbは更新:

# config/environments/production.rb 
Rails.application.configure do 
    config.action_mailer.default_url_options = { host: 'https://< your domain name>' } 
end 

あなたが適切と認める。あなたは他の環境ファイルにこれを追加することができます。

Herokuのために、あなたのホストがあるべきhttps://<app_name>.herokuapp.com

関連する問題