2013-02-16 17 views
24

私はFacebookログインを使用するウェブサイトを開発しています。さて、私はこれを私の生産環境と開発環境の両方で動作させたいと思っています。Facebookのログイン - ローカルホストとプロダクションの両方で開発する方法?

Facebookでは、FacebookがリダイレクトできるサイトURLを1つ与えることができます。これは私の開発段階ではうまくいきましたが、今は両方を本番環境で動作させたいと思っています。

私のドメインnavnでローカルのIIS上でアプリケーションを実行し、ホストファイルを変更することが1つの方法だと思いますが、それは真剣に最も簡単な解決策ではありません!

最も簡単な方法両方の環境で動作させるにはどうすればよいですか?

答えて

22

良い方法があります。ローカルホストの有効なコールバックURLを設定>詳細> OAuth設定に追加するだけです。

enter image description here

この方法は、第2のアプリケーションを作成するなど、生産、

+0

ニース:)これは新しい機能だとはっきりと確信していますが、これが今のところ最高の答えです。 –

+0

これらの設定は、[製品]> [Facebookログイン]> [設定:有効なOAuthリダイレクトURI]にあります。また、コールバックルートではなくルートURLを指定することに成功しました。 –

+0

localhost(トリプルチェックredir url)からXHRリクエストを行うとき: 'XMLHttpRequestはhttps://www.facebook.com/v2.8/dialog/oauth?client_id=xxxx&redirect_uri=http://xxxx.comをロードできません。 「https://www.facebook.com/v2.8/dialog/oauth?client_id=xxxx&redirect_uri=http://xxxx.com」から「https://m.facebook.com/v2.8/dialog」にリダイレクトする/oauth?redirect_uri=http%3A%2F%2Fxxxx.com&client_id=xxxx 'がCORSポリシーによってブロックされています:要求されたリソースに「Access-Control-Allow-Origin」ヘッダーがありません。したがって、Origin 'http:// localhost:8100'はアクセスが許可されていません。 – Jacksonkr

3

私は同じ問題があります。私が発見した

唯一の解決策は以下のとおりです。

+2

素晴らしいアイデアをステージングして、真/偽デバッグに応じて、DEVからのOAuthを可能にしながら、あなたはまだ生産ウェブサイトのURLを持つことができます異なるアプリにヒットします。 ありがとう! :-) –

0

this answerのアドバイスに従って、モバイルURLを開発者に設定すると動作しますntドメイン(すなわち、 localhost)とサイトURLをプロダクションドメインに設定します。

3

私はこれを6ヶ月間働いた後、他の2つの答えに基づいて、本当にうまくいくソリューションを見つけました。 Facebookので

は、私は2つのアプリを追加します。

  • 生産アプリ
  • Devのアプリが

その後、私のweb.configアプリの設定で私が持っている:

<!--Prod--> 
<add key="_FacebookApiId" value="id"/> 
<add key="_FacebookApiSecretId" value="secret_id"/> 
<!--Dev--> 
<add key="FacebookApiId" value="dev_id"/> 
<add key="FacebookApiSecretId" value="dev_secret_id"/> 

もちろんのヘルパークラスを介して読み込まれます。

次に、プロダクションとローカルホストの両方でシームレスに動作し、自分とチームの両方が満足しています。

+0

ヘルパークラスコードへのリンク?? – jmontross

関連する問題