207

OAuthボタンをテストしようとしていますが、すべて(Facebook、Twitter、LinkedIn)にエラーが表示され、ローカルURLからはテストまたは使用できないことを示しているようです。

すべての人が非開発および非ローカル接続環境を必要としているように見える場合、人々は通常、OAuthのものを使用して開発でどのように作業しますか?

4

12 に答える 12

154

2016年10月の更新:今すぐ簡単:常にを指すlvh.me127.0.0.1を使用しますが、呼び出す必要があるたびに、これが引き続き当てはまることを確認してください(ドメインが期限切れになるか、乗っ取られる可能性があり、DNSポイズニングが常に懸念されるため) )。

前の回答

localhostコールバック要求はブラウザによって発行されるため、HTTPリダイレクト応答として、 127.0.0.1ではないドメインを指すように.hostsファイルまたは同等のものを設定できます。

たとえば、次のコールバックをTwitterに登録するとしますhttp://www.publicdomain.com/callback/www.publicdomain.comホストファイルで127.0.0.1を指していること、およびTwitterがwww.publicdomain.comでDNSルックアップを正常に実行できることを確認してください。つまり、ドメインが存在する必要があり、要求された場合、特定のコールバックはおそらく200ステータスメッセージを返すはずです。

編集

次の記事を読んだばかりです:http://www.tonyamoyal.com/2009/08/17/how-to-quickly-set-up-a-test-for-twitter-oauth-authentication-from-your-local -この質問からリンクされたマシン: Twitter oAuthcallbackUrl -localhostdevelopment

記事を引用するには:

URL短縮サービスbit.lyをご利用いただけます。[http // localhost:8080 /twitter_callbackなどのlocalhostURL]を短縮し、短縮されたURLをTwitterアプリのコールバックとして登録するだけです。

これは、.hostsファイルをいじるよりも簡単なはずです。

現在(2014年8月)bit.lyはローカルホストへのリンク転送を許可していないことに注意してください。ただし、Googleリンク短縮サービスは機能します。

PS編集:(2018年11月):Googleリンク短縮サービスはローカルホストまたは127.0.0.1のサポートを停止しました。

于 2012-05-05T07:56:47.880 に答える
27

または、https://tolocalhost.com/を使用して、コールバックをローカルサイトにリダイレクトする方法を構成できます。ホスト名を指定できます(localhostと異なる場合、つまりyourapp.localとポート番号)。開発目的のみ。

于 2017-11-28T08:27:55.257 に答える
25

ngrokを使用することもできます:https ://ngrok.com/ 。ローカルホストでパブリックサーバーを実行するために常に使用しています。お役に立てれば。

独自のカスタムドメインを無料で提供するもう1つのオプションは、servo.netとhttps://localtunnel.github.io/www/です。

于 2018-09-22T20:42:21.093 に答える
7

Macユーザーの場合は、ファイルを編集し/etc/hostsます。sudo vi /etc/hosts読み取り専用の場合は使用する必要があります。承認後、oauthサーバーはコールバックURLを送信し、そのコールバックURLはローカルブラウザーでレンダリングされるため、ローカルDNS設定は機能します。

127.0.0.1       mylocal.com
于 2020-01-23T22:04:07.480 に答える
4

ローカルドメインをに設定しますmywebsite.example.com(そしてそれをローカルホストにリダイレクトします)-通常はを使用しますがmywebsite.dev。これにより、堅牢な自動テストが可能になります。

承認.testおよび許可さ.devれていませんが、承認example.com googleoauth2で許可されています。

(hostsファイル(unix / linux:)で任意のドメインをlocalhostにリダイレクトできます/etc/hosts

なぜmywebsite.example.comですか?は予約済みのドメイン名だ
からです。example.comそれで

  1. マシン上で名前の競合は発生しません。
  2. テストシステムがデータをに公開する場合、データリスクはありませんnot-redirected-by-mistake.example.com
于 2021-01-02T22:10:15.720 に答える
3

WindowsまたはLinuxでhostsファイルを編集できますWindows:C:\ Windows \ System32 \ Drivers \ etc \ hosts Linux:/ etc / hosts

ローカルホストの名前解決はDNS自体の中で処理されます。

127.0.0.1 mywebsite.com

テストが終了したら、追加した行にコメントを付けて無効にします

127.0.0.1 mywebsite.com

于 2019-04-21T13:22:48.737 に答える
2

http://webporject.devGoogleでは、ローカルホストでor.locと.etcを使用して認証APIをテストすることはできません。また、ローカルURL( http://webporject.dev)を短縮するGoogleの短いリンクも許可されていませんbit.ly:)。Googleは開始するURLのみを受け入れますhttp://localhost/...

google auth apiをテストする場合は、次の手順に従う必要があります...

新しいエイリアスを設定する

使用する場合はopenserver、[設定]パネルに移動しaliases tab、ドロップダウンをクリックしてクリックし、それを見つけlocalhostて選択します。

ここで、最初のドロップダウンの横にある次のドロップダウンをクリックして、ローカルWebプロジェクトのルートフォルダーを選択する必要があります。

と呼ばれるボタンをクリックして、addopenseverを再起動します。

これで、このリンクで利用可能なローカルプロジェクトhttp://localhost/ も、このローカルURLをgoogleauthapiに貼り付けることができredirect urlます...

于 2018-09-18T07:12:28.050 に答える
1

固定URLを埋め込みローカルホストドメインに自動的に変換するxip.ioを見つけました。

たとえば、ローカルホストサーバーがで実行されているとします。このサーバーにアクセスする127.0.0.1:8000 には、に移動できます。http://www.127.0.0.1.xip.io:5555/次に、このアドレスをFacebookまたはGoogleのOauth構成に追加できます。

于 2020-10-08T11:23:02.233 に答える
1

http://tolocalhost.comがクエリパラメータを転送しないなど、他の回答で言及されているツールでいくつかの問題が発生しました(言うまでもなく、最初にページにアクセスして構成する必要があります。https://thomasmcdonald.githubの場合と同じです。 .io / Localhost-uri-Redirector /)とhttp://lvh.meは、ローカルマシンでプロキシを実行していて、 http:// mywebsiteのようなプライベートURLを指すようにパブリックURLが必要なため、役に立ちません。 dev

だから私は自分のニーズを満たし、あなたのニーズを満たすかもしれない自分のツールを作りました:

https://redirectmeto.com

例:

https://redirectmeto.com/https://www.google.com/search?q=puppies

http://redirectmeto.com/http://localhost:4000/oauth/authorize

http://redirectmeto.com/http://client.dev/page

于 2021-04-16T18:47:51.513 に答える
1

この回答はGoogleOAuthにのみ適用されます

それは実際には非常に単純で、私はそれが私のために働いたことに驚いています(私はまだ私の目が見ているものに懐疑的です)。

localhostここに表示されているように、ローカルホストはほとんどのルールの例外であるため、GoogleDeveloperConsoleで信頼できるドメインとして追加できるようです

これは、このページのOAuth2.0クライアントIDで実行できます。[編集]をクリックしてから、または同様のポートを追加し、[http://localhost:8000保存]をクリックします。

入力ボックスにhttpまたはを含めることが重要です。https

HTTPまたはHTTPS?

Googleがhttpを許可していることにもう一度驚いていますが、アプリケーションが本番環境にリリースされている場合は、セキュリティ上の小さなリスクがあることに注意してください。

特に慎重になりたい場合は、httpsを使用することを選択できます。これには、ローカルホストサーバーでSSL証明書を設定する必要があります。

SSL証明書は有効である必要がないため、これは思ったよりも簡単です。多くのhttpサーバーはあなたにこのオプションを与えるべきです。大きな赤い警告をバイパスするには、ブラウザの[続行]ボタンをクリックする必要があります。

これはhttpよりも安全です。a)ハッカーが何かフィッシュを試みた場合にユーザーに大きな赤い警告が表示されるか、b)ユーザーが意図的にセルフホストSSL証明書を設定した場合にのみこの警告が表示されないためです。 、その場合、彼らはおそらく彼らが何をしているのかを知っています(ウイルスは技術的にもこれを行うことができると思いますが、その段階で彼らはすでにユーザーのシステムを十分に制御して、彼らが望むことを何でもすることができます)。

于 2021-07-01T22:24:07.057 に答える
0

もう1つの価値のあるオプションは、https://github.com/ThomasMcDonald/Localhost-uri-Redirectorです。これは、UIで構成したホストとポートにリダイレクトする非常に単純なhtmlページです。

このページはGithubhttps://thomasmcdonald.github.io/Localhost-uri-Redirectorでホストれているため、これをOAuth2リダイレクトURLとして使用し、UIでターゲットホストとポートを構成すると、アプリにリダイレクトされます。

于 2020-12-24T10:52:27.247 に答える
-1

GoogleOAuthを参照する

  • OAuthクライアントタブで

    1. アプリのURIの例(http://localhost:3000)承認されたJavaScriptオリジン URIに追加します
  • OAuth同意画面

    1. 承認済みドメインmywebsite.comに追加
  • WindowsまたはLinuxでhostsファイルを編集しWindows C:\Windows\System32\Drivers\etc\hosts Linux : /etc/hostsて追加します127.0.0.1 mywebsite.com (他に127.0.0.1がある場合は、NBコメントアウトします)

于 2020-04-16T07:07:45.843 に答える