Insecure Login Blocked: You can’t get an access token or log in to this app from an insecure page. Try re-loading the page as https:// 解決法

facebookログインAPI

FacebookのログインAPIが使えない。。。

Ruby on RailsのDeviseを使ってFacebookのログインAPIの実装をしました。
開発環境でテストするために「http://localhost:3000/」を登録して動作確認をしようとしたところ下記エラーが。。

「Insecure Login Blocked: You can’t get an access token or log in to this app from an insecure page. Try re-loading the page as https://」

httpsを使いなさい!というエラーメッセージで先にすすめません。

FacebookのログインAPIは3月以降はhttpsしか使えない

調べていくと、FacebookのログインAPIは3月以降はhttpsしか使えないということがわかりました。
設定の変更画面があるのですが変更できないようになっているため開発環境でhttpsを使えるようにしなければなりません。

facebookログインAPI

項目はありますが「いいえ」に変更することはできないです。

Facebookの公式ページには下記内容が書かれていました。
ログインのセキュリティ

OAuthリダイレクトとSDK APIでHTTPSを使用する この設定では、JavaScript SDKを使用してアクセストークンを取得するOAuthリダイレクトとページに、HTTPSを要求します。2018年3月以降に作成されたすべての新しいアプリには、デフォルトでこの設定が適用されます。既存のアプリでも、HTTPSのみを使用するよう2019年3月までに移行を完了させてください。ほとんどの主要クラウドアプリホストでは、アプリ用TLS証明書の自動設定が無料で提供されています。アプリを自己ホストしている、または利用しているホスティングサービスがデフォルトでHTTPSを提供していない場合は、Let’s Encryptからドメイン用の証明書を無料で入手できます。

Insecure Login Blocked: You can’t get an access token or log in to this app from an insecure page. Try re-loading the page as https:// 解決法

SSL証明書を発行して開発環境に適応させるかRuby on Railsを使っている場合は【Ruby on Rails】わずか15秒で開発環境でSSL(https)を使う方法を使えば簡単に解決できます。

「有効なOAuthリダイレクトURI」の変更も忘れずに!!
Facebook_API_URL

追伸:
2018年3月以前にFacebookのログインAPIを使ったことがある人はSSL(HTTPS)の設定が無効化されている状態(OFF)なので、前アカウントを使うのもありだと思います。この方法ならばHTTPSにしなくてもOKです。ただし、有効なOAuthリダイレクトURIの設定は必須になっているため要注意です。

FacebookLoginAPI