web-dev-qa-db-ja.com

エラー:invalid_request device_idとdevice_nameはプライベートIPに必要です

[localhost:8080]を使用してGoogle Drive APIで開発を行っていました。突然、ローカル展開サンドボックスでテストし、IPアドレスが[192.168.1.1:8080]であると感じました。それに応じて、開発者コンソールクライアントのコールバックURLの資格情報を変更しました。 OAuth2WebServerFlowを使用して、ユーザーの同意を使用して更新トークンを取得しています。その後、将来、ユーザーの認証にリフレッシュトークンとOAuth2WebServerFlowを使用します。しかし、私は驚きました-私はエラーを受け取りました:

  1. それはエラーです。エラー:invalid_request device_idおよびdevice_nameはプライベートIPに必要です:

何が起こっているのか、どうすれば修正できるのかわかりません。何が起こっているのか分からない

27

hostsファイルを編集する代わりに、「マジックDNS」サービスを使用することもできます http://xip.io/ または http://nip.io/ (編集を参照)

xip.ioは、任意のIPアドレスにワイルドカードDNSを提供するマジックドメイン名です。LANのIPアドレスは10.0.0.1とします。 xip.ioを使用して、

        10.0.0.1.xip.io   resolves to   10.0.0.1
    www.10.0.0.1.xip.io   resolves to   10.0.0.1
 mysite.10.0.0.1.xip.io   resolves to   10.0.0.1
foo.bar.10.0.0.1.xip.io   resolves to   10.0.0.1

このサービスを使用すると、プライベートアドレスに解決されるパブリックに見えるドメインを指定できます。

コンソールで、リダイレクトURIが(とにかく欲しいものだった場合):

http://192.168.1.1:8080/auth/google_oath2/callback

次のものに置き換えます:

http://192.168.1.1.xip.io:8080/auth/google_oath2/callback

「リダイレクトURI」はワイルドカードを受け入れないように見えるため、コンソールでプライベートip-xip.io全体を指定する必要があります。

xip.ioと提携していない。私はただ満足したユーザーです。

2016編集:DNSサーバーxip.ioの不安定性に関する報告を聞いたことがあります。 copy-catサービスnip.ioがありますが、これはxip.ioとまったく同じように動作しますが、2016年7月中にnip.ioの応答率は100%でしたが、xip.ioにはありませんでした。

35
whitehat101

Googleは、Oauth呼び出しを行うときにローカル(プライベート)IPアドレスを受け入れません。私の回避策は、ローカルIPのWindowsホストファイルにエントリを追加することでした。

\Windows\System32\drivers\etc

192.168.1.2   fakedomain.com

その後、fakedomain.com開発コンソールでGoogleを使用します。それらは「本当の」ドメインとして表示されますが、ブラウザでは引き続きローカルIPに解決されます。 MacまたはLinuxでも同様のアプローチが機能すると確信しています。

12
Josh Diehl

編集:ローカルで開発する場合にのみ関連します。

OK、Macでも同じ問題が発生しています。次の手順で問題を解決しました

3
philmaweb

IPアドレスからドメイン名(私の場合は192.168.1.113からlocalhost)に変更するまで同じエラーが発生したため、GoogleはベアIPアドレスを受け入れないようです。

サンドボックスにドメイン名を使用するか、ローカルドメインサーバーがない場合はセットアップします。

2
Mikee

Macでrootとして編集することで同じことができることに注意してください。

/private/etc/hosts

上記と同様の行を追加します

192.168.60.10   fakedomain.com
1
ejvaudio

\ Windows\System32\drivers\etc\hostsでファイルホストを変更します

hostsファイルに「192.168.1.2 fakedomain.com」を追加します
ウィンドウを再起動します

Googleコンソール192.168.1.2アップデートをfakedomain.comにアップデート

0
brew