わかりました、これらの答えがどうなっているかはわかりませんが、私の仕事の上級開発者の助言に従って、何がうまくいったかをお知らせします。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が正しくログインするようにする代わりに、アドレスバーのを使用します。