8

ソーシャル認証を使用する場合、多くのDjango開発者がこの問題に遭遇する必要があると確信しています。最初にそれを開発するとき、あなたはそれをあなたのローカルサーバーでテストしたいので、あなたはあなたのetc/hostsのドメイン名をリダイレクトするでしょう。

私はドキュメントでこれに沿って来ました:

https://github.com/omab/django-social-auth#facebook

FacebookのセットアップページでリダイレクトURLを定義する場合はhttp://localhost:8000、テスト時に機能しないため、定義しないでください。代わりに、http://myapp.comを定義、/ etc / hostsにマッピングを設定するか、dnsmasqを使用します。

私の理解では、/ etc/hostsにポートを定義することはできません。

したがって、そこでこのエントリを定義します。

127.0.0.1       example.com

127.0.0.1:8000で実行されているDjangoサーバーにまだヒットしません。

どうやってこれをするの?

ありがとう、

4

5 に答える 5

5

誰もが「example.comをhostsファイルに追加します...」と言いますが、runserverの起動後にexample.com:8000を使用する必要があることについては言及していません。これが私のために働いたより詳細なステップです:

Linuxの場合:

  • ターミナルを開く
  • sudo gedit(またはgeditを選択したテキストエディタに置き換えます)
  • etc/hostsファイルを開きます
  • 行を追加します:127.0.0.1 example.com(127.0.0.1で始まる行が既にある場合は、そのままにしておくことができます-https: //serverfault.com/questions/231844/is-it-safe-to-add-additional -127-0-0-1-entries-to-etc-hosts
  • ファイルを保存する
  • django開発サーバーを起動します-pythonmanage.pyrunserver
  • ブラウザを開き、example.com:8000にアクセスします(これにより、127.0.0.1またはlocalhostで動作しないgoogleおよびその他のサイトへの正しいコールバックが提供されます)
  • djangoサイトのホームページが表示されます。
  • 接続するソーシャルサイトにアクセスし、example.comをWebサイト名として使用して、クライアントIDを設定します。たとえば、googleのコールバックURLはhttp://example.com:8000/complete/google-oauth2/です。
  • 適切なキー/ID設定をコピーして、SETTINGS.pyに貼り付けます
  • これで、開発サーバーが機能するはずです。

これが古い投稿であることは知っていますが、完全な手順はどこにも見つかりませんでした。私はこれに関する専門家ではないので、必要に応じて説明を追加してください。

于 2015-04-08T18:31:28.660 に答える
0

ここの手順に従ってリダイレクトの問題を解決しました:https ://serverfault.com/questions/397364/how-to-setup-named-virtual-hosts-in-nginx

要するに、上記のように/ etc / hostsにエントリが必要であり、その間にnginxプロキシがあります。

于 2012-06-13T12:03:03.763 に答える
0

フィドラーをインストールします。インストールしたら、[ツール]>[ホスト]に移動します。

次に、127.0.0.1:8000からmysite.comにマップできます。

于 2014-08-16T10:26:07.070 に答える
0

以下は最終的に私のためにそれを修正しました...

承認されたJavaScriptオリジンの下:http:// localhost:8000

許可されたリダイレクトURIの下:http:// localhost:8000 / page-name-here

于 2019-03-05T16:40:34.967 に答える
0

127.0.0.1mysite.com/etc/ hostsに追加した後もまだ苦労している人がいる場合は、VPNを使用しているかどうかを確認してください。「mysite.com:8000に接続できません」というエラーが引き続き表示されていました。VPNをオフにすることで、このエラーを解決しました。

于 2020-11-26T17:23:55.737 に答える