Googleサインインを作成しようとしてエラーが発生しました:
ターゲットドメインのログインヒントを生成する権限が拒否されました
これを重複としてマークする前に、これは not GoogleサインインWebサイトでの質問と同じですエラー:ターゲットドメインのログインヒントを生成する権限が拒否されました その場合、質問者はローカルホストにいたのに対して、サーバーでこのエラーが発生しているためです。
具体的には、次の図のように、サーバーのURLをAuthorized Javascript Originsに含めました:
エラーが発生すると、次の画像のように、同じURLが送信されたことがリクエストに示されます:
制限ページに追加すべきものはありますか?ここで何が起こっているのかを理解する方法はありますか?開発者コンソールに、何が起こっているのかを知ることができるログがありますか?
さて、私はこれを理解しました。これは上のテストサイトであったため、リダイレクトURIにIPアドレスを使用していました(「 http://175.132.64.120 」のように)ライブサーバー、およびGoogleは実際のURLのみを受け入れます(「 http://mycompany.com 」または「 http:// localhost ")をリダイレクトURIとして。
あなたは知っている、彼らは文書のどこかで言ったかもしれないが、何でも。
これは古い質問ですが、Google経由で問題を探したときの最初の結果なので、私のソリューションを皆さんと共有します。
Google OAuthサービスをプライベートネットワーク、つまりインターネット経由でアクセスできないIPに展開する場合、 xip.io のようなマジックDNSサービスを使用する必要があります=これにより、ブラウザが内部IPに解決するURLが得られます。ご覧のとおり、Googleはブラウザを介して許可されたOriginにアクセスできる必要があるため、コンピューターで提供している場合はlocalhostの設定が機能しますが、 VPN、イントラネット、またはトンネルを使用するなど、インターネットの外部に展開している場合は機能しません。
したがって、手順:
10.0.0.1
であるとしましょう。http://10.0.0.1.xip.io
を追加します。http://10.0.0.1.xip.io
にアクセスしてサイトを開きます別の質問で this answer を使用してこのソリューションに到達しました。
http://127.0.0.1/projects/testplateform を使用している場合は、http://localhost/に変更しますprojects/testplateform、それは動作します。
マシンでテストする場合(ローカル)。次に、クライアントID設定でIPアドレス(つまり http://127.0.0.1:8888 )を使用しないでください。代わりにローカルホストを使用してください。
DNSエントリなしで、外部のテストサーバーで同じ問題に出くわしました。ローカルマシンで許可がある場合は、/etc/hosts
ファイル:
175.132.64.120 www.jimboweb.com
そして、使用 http://www.jimboweb.com を承認済みドメインとして使用します。
プライベートネットにサーバーがあります。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
を追加します。