わかりました、これらの答えがどうなっているかはわかりませんが、私の仕事の上級開発者の助言に従って、何がうまくいったかをお知らせします。Ruby on Railsで作業していて、FacebookのJavaScriptコードを使用してアクセストークンを取得しています。
問題:認証を行うために、FacebookはアドレスバーからURLを取得し、それをファイルにあるものと比較しています。彼らはあなたがlocalhost:3000何らかの理由で使用することを許可しません。ただし、yoursite.devローカルサーバーを実行して、ローカルホストが指している場所やローカルホストが指している場所など、完全に構成されたドメイン名yoursite.devを127.0.0.1:3000使用できます。
手順1:Nginxをインストールまたは更新する
$ brew install nginx(インストール)または$ brew upgrade nginx(更新)
ステップ2:nginx設定ファイルを開く
/usr/local/etc/nginx/nginx.conf (通常はここ)
/opt/boxen/config/nginx/nginx.conf(Boxenを使用する場合)
ステップ3このコードをhttp {}ブロックに追加します
proxy_passポイントyoursite.devしたい場所に置き換えます。私の場合、それはlocalhost:3000または同等のものを置き換えていました127.0.0.1:3000
server {
listen yoursite.dev:80;
server_name yoursite.dev;
location / {
proxy_pass http://127.0.0.1:3000;
}
}
手順4:hostsファイルを編集して/etc/hosts、Macでインクルードします
127.0.0.1 yoursite.dev
このファイルは、ドメインをlocalhostに送信します。Nginxはlocalhostをリッスンし、ルールに一致する場合はリダイレクトします。
ステップ5:今後開発環境を使用するたびyoursite.devにlocalhost:3000、Facebookが正しくログインするようにする代わりに、アドレスバーのを使用します。