web-dev-qa-db-ja.com

Google:localhostにないターゲットドメインのログインヒントを生成する権限が拒否されました

Googleサインインを作成しようとしてエラーが発生しました:

ターゲットドメインのログインヒントを生成する権限が拒否されました

これを重複としてマークする前に、これは not GoogleサインインWebサイトでの質問と同じですエラー:ターゲットドメインのログインヒントを生成する権限が拒否されました その場合、質問者はローカルホストにいたのに対して、サーバーでこのエラーが発生しているためです。

具体的には、次の図のように、サーバーのURLをAuthorized Javascript Originsに含めました: Javascript origins

エラーが発生すると、次の画像のように、同じURLが送信されたことがリクエストに示されます: Invalid request page

制限ページに追加すべきものはありますか?ここで何が起こっているのかを理解する方法はありますか?開発者コンソールに、何が起こっているのかを知ることができるログがありますか?

39
jimboweb

さて、私はこれを理解しました。これは上のテストサイトであったため、リダイレクトURIにIPアドレスを使用していました(「 http://175.132.64.120 」のように)ライブサーバー、およびGoogleは実際のURLのみを受け入れます(「 http://mycompany.com 」または「 http:// localhost ")をリダイレクトURIとして。

あなたは知っている、彼らは文書のどこかで言ったかもしれないが、何でも。

109
jimboweb

これは古い質問ですが、Google経由で問題を探したときの最初の結果なので、私のソリューションを皆さんと共有します。

Google OAuthサービスをプライベートネットワーク、つまりインターネット経由でアクセスできないIPに展開する場合、 xip.io のようなマジックDNSサービスを使用する必要があります=これにより、ブラウザが内部IPに解決するURLが得られます。ご覧のとおり、Googleはブラウザを介して許可されたOriginにアクセスできる必要があるため、コンピューターで提供している場合はlocalhostの設定が機能しますが、 VPN、イントラネット、またはトンネルを使用するなど、インターネットの外部に展開している場合は機能しません。

したがって、手順:

  1. iPアドレスを取得します。これはパブリックドメインではなく、例として10.0.0.1であるとしましょう。
  2. google Developer Consoleで許可されたJavascript Originsにhttp://10.0.0.1.xip.ioを追加します。
  3. http://10.0.0.1.xip.ioにアクセスしてサイトを開きます
  4. 必要に応じて、サイトのキャッシュをクリアします。
  5. Googleでログインしてください。

別の質問で this answer を使用してこのソリューションに到達しました。

23
Pablo Albornoz

http://127.0.0.1/projects/testplateform を使用している場合は、http://localhost/に変更しますprojects/testplateform、それは動作します。

11
Tgold brain

マシンでテストする場合(ローカル)。次に、クライアントID設定でIPアドレス(つまり http://127.0.0.1:8888 )を使用しないでください。代わりにローカルホストを使用してください。

例: http:// localhost:8888

8
Qais Ammari

IPアドレスを有効なjavascript Originとして使用できるようにするには、最初に/ etc/hostsファイルにエントリを追加します

10.0.0.1 mydevserver.com

そして、このドメインを追加しますmydeveserver.com in承認されたJavascript Origins。非標準ポートを使用している場合は、Authorized Javascript Originsでドメインで指定します。

enter image description here

:キャッシュを削除すれば機能します。

2
Abdul Mannan

DNSエントリなしで、外部のテストサーバーで同じ問題に出くわしました。ローカルマシンで許可がある場合は、/etc/hostsファイル:

175.132.64.120  www.jimboweb.com

そして、使用 http://www.jimboweb.com を承認済みドメインとして使用します。

2
Eric Bridger

プライベートネットにサーバーがあります。ip172.16.X.Xこの問題は、ローカルホストポートへのアプリport ssh-forwardingで解決されました。これで、デプロイされたアプリをgoogle oauth localhostへの参照で使用できます。

ssh -N -L8081:localhost:8080 ${user}@${Host}

また、 console.developers.google.com の「Authorized URI redirect」および「Authorized JavaScript sources」にlocalhost:8081を追加します。

Google Developers Console

0
yeagor